Ich habe Costura Fody ausprobiert, aber es hat nicht funktioniert.
Anders als Costura habe ich versucht, sie über csproj wie folgt einzubetten:
Code: Select all
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.