Archived
Private
Public Access
1
0

Reworked MloCombiner

This commit is contained in:
2022-10-26 17:28:27 +02:00
parent e71b87d9fa
commit a565b9287c
85 changed files with 711 additions and 16483 deletions

102
MloCombiner/Combiner.cs Normal file
View File

@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using CarCombiner;
namespace MloCombiner {
public class Combiner {
public static string[] CheckMaps(string rootFolder) {
var root = new DirectoryInfo(rootFolder);
List<string> extraFiles = new();
foreach (var resource in root.EnumerateDirectories()) {
var extras = resource.EnumerateFiles()
.Where(info => !Constants.KnownMetaFiles.Contains(info.Name))
.ToArray();
if (extras.Length != 0)
extraFiles.AddRange(extras.Select(info => $"[{resource.Name}] => {info.Name}"));
}
return extraFiles.ToArray();
}
public static string CreateOutputResource(string name, string rootFolder) {
if (Directory.Exists(name)) {
Log.WriteError("That folder already exist!");
string delete = Log.RequestInput("Would you like to override the folder? (y/n)");
if (delete.Equals("y"))
Directory.Delete(name, true);
else
Environment.Exit(403);
}
DirectoryInfo info = Directory.CreateDirectory(name);
File.WriteAllText(info.FullName + "/fxmanifest.lua", Constants.ManifestContent);
var stream = info.CreateSubdirectory("stream");
var root = new DirectoryInfo(rootFolder);
foreach (var resource in root.EnumerateDirectories()) {
stream.CreateSubdirectory('[' + resource.Name + ']');
}
return stream.FullName;
}
public static void CopyOldCombiner(string name, string oldCombiner) {
var info = new DirectoryInfo(name);
File.WriteAllText(info.FullName + "/fxmanifest.lua", File.ReadAllText(oldCombiner + "/fxmanifest.lua"));
var oldStream = new DirectoryInfo(oldCombiner + "/stream");
oldStream.CopyFilesRecursively(info.FullName + "/stream");
foreach (var file in oldStream.Parent?.EnumerateFiles()) {
if (file.FullName.EndsWith("fxmanifest.lua")) continue;
file.CopyTo(info.FullName);
}
}
public static void CopyStreamData(string streamFolder, string rootFolder) {
DirectoryInfo resources = new DirectoryInfo(rootFolder);
foreach (DirectoryInfo resource in resources.EnumerateDirectories()) {
Log.Write("Copying " + resource.Name + "... ");
string destFolder = streamFolder + Path.DirectorySeparatorChar + "[" + resource.Name + ']';
resource.GetDirectories().Single(dir => dir.Name == "stream").CopyFilesRecursively(destFolder);
foreach (var file in Directory.GetFiles(streamFolder + "/[" + resource.Name + ']', "_manifest.ymf", SearchOption.AllDirectories).Select(path => new FileInfo(path))) {
file.MoveTo(file.Directory?.FullName + Path.DirectorySeparatorChar + "_manifest_" + resource.Name + ".ymf");
}
Log.CompleteWrite(Constants.DoneString);
}
}
public static void CopyDataFileEntrys(string name, string rootFolder) {
DirectoryInfo resources = new DirectoryInfo(rootFolder);
List<string> manifestLines = new List<string>();
manifestLines.AddRange(File.ReadAllLines(name + "/fxmanifest.lua"));
manifestLines.Add("");
foreach (DirectoryInfo resource in resources.EnumerateDirectories()) {
string manifest = resource.GetFiles().Any(file => file.FullName.EndsWith("fxmanifest.lua")) ? "fxmanifest.lua" : "__resource.lua";
string[] lines = File.ReadAllLines(resource.FullName + Path.DirectorySeparatorChar + manifest);
if (!lines.Any(line => line.StartsWith("data_file") && line.Contains("stream/"))) continue;
lines = lines.Where(line => line.StartsWith("data_file")).ToArray();
manifestLines.Add("");
manifestLines.Add($"-- [{resource.Name}]");
foreach (var line in lines) {
if (!line.Contains("stream/")) continue;
manifestLines.Add(line.Replace("stream/", $"stream/[{resource.Name}]/"));
}
}
File.WriteAllLines(name + "/fxmanifest.lua", manifestLines);
}
}
}

28
MloCombiner/Constants.cs Normal file
View File

@@ -0,0 +1,28 @@
namespace MloCombiner {
public class Constants {
public const string DoneString = "Done!";
public const string Motd = @"
___ ____ _____ _ _
| \/ | | / __ \ | | (_)
| . . | | ___ | / \/ ___ _ __ ___ | |__ _ _ __ ___ _ __
| |\/| | |/ _ \| | / _ \| '_ ` _ \| '_ \| | '_ \ / _ \ '__|
| | | | | (_) | \__/\ (_) | | | | | | |_) | | | | | __/ |
\_| |_/_|\___/ \____/\___/|_| |_| |_|_.__/|_|_| |_|\___|_|
";
public static readonly string[] KnownMetaFiles = { "__resource.lua", "fxmanifest.lua" };
public const string ManifestContent = @"
fx_version 'bodacious'
game 'gta5'
author 'prp'
version '1.0.0'
this_is_a_map 'yes'
";
}
}

View File

@@ -0,0 +1,17 @@
using System.IO;
namespace MloCombiner {
public static class DirectoryInfoExtensions {
public static void CopyFilesRecursively(this DirectoryInfo sourcePath, string targetPath) {
//Now Create all of the directories
foreach (string dirPath in Directory.GetDirectories(sourcePath.FullName, "*", SearchOption.AllDirectories)) {
Directory.CreateDirectory(dirPath.Replace(sourcePath.FullName, targetPath));
}
//Copy all the files & Replaces any files with the same name
foreach (string newPath in Directory.GetFiles(sourcePath.FullName, "*.*", SearchOption.AllDirectories)) {
File.Copy(newPath, newPath.Replace(sourcePath.FullName, targetPath), true);
}
}
}
}

76
MloCombiner/Log.cs Normal file
View File

@@ -0,0 +1,76 @@
using System;
using System.IO;
namespace CarCombiner {
public static class Log {
public static bool EnableLogging { get; set; } = true;
private static bool OpenWrite = false;
private static void WriteScaffolding(string text, ConsoleColor color, TextWriter stream) {
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("[");
Console.ForegroundColor = color;
Console.Write(text);
Console.ForegroundColor = ConsoleColor.Gray;
Console.Write("] >> ");
}
public static void WriteLine(object message, ConsoleColor color = ConsoleColor.Gray) {
if (!EnableLogging) return;
if (OpenWrite) Console.WriteLine();
WriteScaffolding("INFO", ConsoleColor.Cyan, Console.Out);
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ResetColor();
OpenWrite = false;
}
public static void Write(object message, ConsoleColor color = ConsoleColor.Gray) {
if (!EnableLogging) return;
if (OpenWrite) Console.WriteLine();
WriteScaffolding("INFO", ConsoleColor.Cyan, Console.Out);
Console.ForegroundColor = color;
Console.Write(message);
OpenWrite = true;
}
public static void CompleteWrite(object message) {
if (!EnableLogging || !OpenWrite) return;
Console.WriteLine(message);
Console.ResetColor();
OpenWrite = false;
}
public static void WriteWarning(object message, ConsoleColor color = ConsoleColor.Gray) {
if (!EnableLogging) return;
if (OpenWrite) Console.WriteLine();
WriteScaffolding("WARNING", ConsoleColor.Yellow, Console.Out);
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ResetColor();
OpenWrite = false;
}
public static void WriteError(object message, ConsoleColor color = ConsoleColor.Red) {
if (OpenWrite) Console.WriteLine();
WriteScaffolding("ERROR", ConsoleColor.Red, Console.Error);
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ResetColor();
OpenWrite = false;
}
public static string RequestInput(string text) {
if (OpenWrite) Console.WriteLine();
Console.WriteLine("\n" + text);
Console.Write("> ");
string answer = Console.ReadLine();
Console.WriteLine();
OpenWrite = false;
return answer;
}
}
}

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<PackAsTool>true</PackAsTool>
<ToolCommandName>mcb</ToolCommandName>
<PackageOutputPath>./nupkg</PackageOutputPath>
</PropertyGroup>
</Project>

138
MloCombiner/Program.cs Normal file
View File

@@ -0,0 +1,138 @@
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using CarCombiner;
namespace MloCombiner {
class Program {
public static void Main(string[] args) {
var versionString = Assembly.GetEntryAssembly()?
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
.InformationalVersion;
Console.Write(Constants.Motd);
Console.WriteLine("\tv" + versionString);
string rootFolder;
string resourceName;
string oldCombiner;
if (args.Length == 0) {
rootFolder = Log.RequestInput("Specify the root folder where the resources are located.");
resourceName = Log.RequestInput("How sould the new resource be called?");
string combineOld = Log.RequestInput("Would you like add a previously combined resource? (y/n)");
if (combineOld.Equals("y"))
oldCombiner = Log.RequestInput("Specify the path of the previously combined resource.");
else oldCombiner = null;
BeginCombining(rootFolder, resourceName, oldCombiner);
return;
}
if (args.Contains("/?")) {
Console.WriteLine("\nUsage:");
Console.WriteLine(" mcb -> quick combine");
Console.WriteLine("\nArguments:");
Console.WriteLine(" -r <path> -> specify the source folder of the resources");
Console.WriteLine(" -o <path> -> specify the output resource name");
Console.WriteLine(" -c <path> -> include previously combined resources");
Console.WriteLine();
return;
}
if (!HandldeArgError(args)) return;
rootFolder = args[Array.IndexOf(args, "-r") + 1];
resourceName = args[Array.IndexOf(args, "-o") + 1];
if (args.Contains("-c"))
oldCombiner = args[Array.IndexOf(args, "-c") + 1];
else oldCombiner = null;
BeginCombining(rootFolder, resourceName, oldCombiner);
}
private static bool HandldeArgError(string[] args) {
if (args.Count(arg => arg.Equals("-r")) > 1) {
Log.WriteError("You can only combine resources from one source folder!");
return false;
}
if (args.Count(arg => arg.Equals("-o")) > 1) {
Log.WriteError("You can only create one output resource!");
return false;
}
if (args.Count(arg => arg.Equals("-c")) > 1) {
Log.WriteError("You can only include one previously combined resource!");
return false;
}
if (!args.Contains("-r")) {
Log.WriteError("you must specify a source folder!");
return false;
}
if (!args.Contains("-o")) {
Log.WriteError("you must specify a output resource!");
return false;
}
return true;
}
private static void BeginCombining(string rootFolder, string resourceName, string oldCombiner) {
Console.WriteLine();
if (!Directory.Exists(rootFolder)) {
Log.WriteError($"The folder '{rootFolder}' does not exist!");
Environment.Exit(404);
return;
}
if (oldCombiner != null && !Directory.Exists(oldCombiner)) {
Log.WriteError($"The folder '{oldCombiner}' does not exist!");
Environment.Exit(404);
return;
}
Log.Write("Checking the resources... ");
string[] extraFiles = Combiner.CheckMaps(rootFolder);
Log.CompleteWrite(Constants.DoneString);
Log.Write("Creating resource folder structure... ");
string streamFolder = Combiner.CreateOutputResource(resourceName, rootFolder);
Log.CompleteWrite(Constants.DoneString);
Console.WriteLine();
if (oldCombiner != null) {
Log.Write("Copying old combined resource... ");
Combiner.CopyOldCombiner(resourceName, oldCombiner);
Log.CompleteWrite(Constants.DoneString);
}
Log.Write("Copying stream files to the new resource... ");
Combiner.CopyStreamData(streamFolder, rootFolder);
Log.CompleteWrite(Constants.DoneString);
Console.WriteLine();
Log.Write("Copying data_file entrys to the new resource...");
Combiner.CopyDataFileEntrys(resourceName, rootFolder);
Log.CompleteWrite(Constants.DoneString);
Console.WriteLine();
if (extraFiles.Length > 0) {
Log.WriteWarning(
$"The following resources have extra metadata files who have not been copied:\n{string.Join(",\n", extraFiles)}\n");
}
Log.WriteLine("All resources have been merged!");
Console.WriteLine();
}
}
}

View File

@@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v5.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v5.0": {
"MloCombiner/1.0.0": {
"runtime": {
"MloCombiner.dll": {}
}
}
}
},
"libraries": {
"MloCombiner/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\leon\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\leon\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
]
}
}

View File

@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net5.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "5.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}

View File

@@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v5.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v5.0": {
"MloCombiner/1.0.0": {
"runtime": {
"MloCombiner.dll": {}
}
}
}
},
"libraries": {
"MloCombiner/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net5.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "5.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}

View File

@@ -0,0 +1,67 @@
{
"format": 1,
"restore": {
"D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj": {}
},
"projects": {
"D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj",
"projectName": "MloCombiner",
"projectPath": "D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj",
"packagesPath": "C:\\Users\\leon\\.nuget\\packages\\",
"outputPath": "D:\\Programmierstuff\\FiveM\\MloCombiner\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\leon\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.402\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\leon\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.3.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\leon\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")]

View File

@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("MloCombiner")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("MloCombiner")]
[assembly: System.Reflection.AssemblyTitleAttribute("MloCombiner")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Von der MSBuild WriteCodeFragment-Klasse generiert.

View File

@@ -0,0 +1 @@
2755fa313c23f123ebede267ff347890de83da38

View File

@@ -0,0 +1,10 @@
is_global = true
build_property.TargetFramework = net5.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = MloCombiner
build_property.ProjectDir = D:\Programmierstuff\FiveM\MloCombiner\

View File

@@ -0,0 +1 @@
bb777f223b6bd228256c9db76532a55b6adbcb03

View File

@@ -0,0 +1,16 @@
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.exe
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.deps.json
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.runtimeconfig.json
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.runtimeconfig.dev.json
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.dll
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\MloCombiner.pdb
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.csproj.AssemblyReference.cache
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.GeneratedMSBuildEditorConfig.editorconfig
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.AssemblyInfoInputs.cache
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.AssemblyInfo.cs
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.csproj.CoreCompileInputs.cache
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.dll
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\refint\MloCombiner.dll
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.pdb
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\MloCombiner.genruntimeconfig.cache
D:\Programmierstuff\FiveM\MloCombiner\obj\Release\net5.0\ref\MloCombiner.dll

Binary file not shown.

View File

@@ -0,0 +1 @@
a40e442a63e834f5b74af0c202102c6640429fd6

Binary file not shown.

View File

@@ -0,0 +1,5 @@
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\publish\MloCombiner.exe
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\publish\MloCombiner.dll
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\publish\MloCombiner.deps.json
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\publish\MloCombiner.runtimeconfig.json
D:\Programmierstuff\FiveM\MloCombiner\bin\Release\net5.0\publish\MloCombiner.pdb

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,73 @@
{
"version": 3,
"targets": {
"net5.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net5.0": []
},
"packageFolders": {
"C:\\Users\\leon\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj",
"projectName": "MloCombiner",
"projectPath": "D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj",
"packagesPath": "C:\\Users\\leon\\.nuget\\packages\\",
"outputPath": "D:\\Programmierstuff\\FiveM\\MloCombiner\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\leon\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.402\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "rHtO+w9Iuk/xyW12OSFhKZH6ENc7pBflPOYLvZ24c7VW+gnAbXDf5ijCR1hfT/GJe0XVmpQagexTxJRJOW4wcw==",
"success": true,
"projectFilePath": "D:\\Programmierstuff\\FiveM\\MloCombiner\\MloCombiner.csproj",
"expectedPackageFiles": [],
"logs": []
}