by Anonymous » 17 Jan 2025, 09:22
Ich erstelle eine WPF-App in C#. Ich versuche, deps.json und runtimeconfig.json einzubetten. Ich habe überall gesucht, konnte aber keine Antwort darauf finden. Ich möchte nur, dass die Dateien .exe und .dll erstellt werden.
Ich habe Costura Fody ausprobiert, aber es hat nicht funktioniert.
Anders als Costura habe ich versucht, sie über csproj wie folgt einzubetten:
Und einen Assembly Resolver erstellt:
Code: Select all
private static Assembly LoadEmbeddedAssembly(object sender, ResolveEventArgs args)
{
string resourceName = $"{Assembly.GetExecutingAssembly().GetName().Name}.{new AssemblyName(args.Name).Name}.dll";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
if (stream == null)
return null;
byte[] assemblyData = new byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}
Aber als ich versuchte, es zu erstellen, ist dieser Fehler aufgetreten:
Code: Select all
Myexe failed with 1 error(s) (0,0s)
C:\Program Files\dotnet\sdk\9.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(258,5): error NETSDK1175: Windows Forms is not supported or recommended with trimming enabled. Please go to https://aka.ms/dotnet-illink/windows-forms for more details.
Genau das, was ich möchte, ist, es ohne deps.json zu erstellen und runtimeconfig.json und nicht eigenständig zu verwenden, da die Gesamtgröße der Ausgaben bei der Verwendung auf 350 MB ansteigt, anstatt der erwarteten Ausgabe von 10 MB.
Ich erstelle eine WPF-App in C#. Ich versuche, deps.json und runtimeconfig.json einzubetten. Ich habe überall gesucht, konnte aber keine Antwort darauf finden. Ich möchte nur, dass die Dateien .exe und .dll erstellt werden.
Ich habe Costura Fody ausprobiert, aber es hat nicht funktioniert.
Anders als Costura habe ich versucht, sie über csproj wie folgt einzubetten:
[code]
[/code]
Und einen Assembly Resolver erstellt:
[code] private static Assembly LoadEmbeddedAssembly(object sender, ResolveEventArgs args)
{
string resourceName = $"{Assembly.GetExecutingAssembly().GetName().Name}.{new AssemblyName(args.Name).Name}.dll";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
if (stream == null)
return null;
byte[] assemblyData = new byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}[/code]
Aber als ich versuchte, es zu erstellen, ist dieser Fehler aufgetreten:
[code] Myexe failed with 1 error(s) (0,0s)
C:\Program Files\dotnet\sdk\9.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(258,5): error NETSDK1175: Windows Forms is not supported or recommended with trimming enabled. Please go to https://aka.ms/dotnet-illink/windows-forms for more details.[/code]
Genau das, was ich möchte, ist, es ohne deps.json zu erstellen und runtimeconfig.json und nicht eigenständig zu verwenden, da die Gesamtgröße der Ausgaben bei der Verwendung auf 350 MB ansteigt, anstatt der erwarteten Ausgabe von 10 MB.