Ich verwende meinen Service-Stack mithilfe des EXE-Projekts (Startaufgabe für eine Azure-Anwendung), indem ich die folgende DLL des Service-Stacks und einige DLLs von Azure in das EXE-Projekt kopiert habe.
Wenn ich dieses EXE-Projekt erstelle, werden Azure-DLLs mit meiner EXE-Datei gebündelt, aber die DLL des Dienststapels wird nicht mit EXE gebündelt, da ich die DLL aller Dienststapel manuell kopieren muss, um meine EXE-Datei auf einem beliebigen Computer auszuführen.
Ich habe die DLL dieses Service-Stacks verwendet
JsonServiceClient client = new JsonServiceClient(servicepath);
Was muss ich tun, um alle diese DLLs in meiner EXE-Datei zu bündeln?
c#
assemblies
exe
ilmerge
servicestack
Arun Rana
quelle
quelle
Das gesuchte Tool heißt ILMerge . Es ist ein Befehlszeilenprogramm und kann wie folgt verwendet werden:
Es gibt auch einen Artikel, der beschreibt , wie ILMerge in Ihren VS - Projekt - Setup ist hier
quelle
Ein großartiges Tool, um referenzierte Assemblys als eingebettete Ressourcen einzuschließen, ist Costura (ein Fody- Add-In). Der Autor Simon Kropp beschreibt es wie folgt:
Das Ergebnis ist eine supereinfache Lösung, bei der lediglich Costura.Fody von NuGet abgerufen werden muss .
Eigenschaften:
quelle
Probieren Sie ILMerge-GUI, die .NET-Fusion . Es ist eine GUI-basierte
Ilmerge
, die jede Befehlszeilenarbeit vermeidet.quelle
Wenn Sie WPF-Abhängigkeiten haben, sind Ihre Optionen möglicherweise eingeschränkter ..... ILMerge scheint sich nicht mit diesen zu befassen. Costura.Fody (wie oben von Codefox erwähnt) funktionierte jedoch perfekt für uns und brauchte ungefähr 5 Minuten, um loszulegen ... eine sehr gute Erfahrung.
Installation mit Nuget (Auswahl des richtigen Standardprojekts in der Package Manager-Konsole).
Es führt alle mit "Copy Local" = true gekennzeichneten DLLs zusammen und erzeugt eine zusammengeführte EXE-Datei (neben der Standardausgabe, von der die meisten jetzt nicht mehr erforderlich sind), die ebenfalls komprimiert wird. Dies kann dann eigenständig verwendet werden.
Die Lizenz ist MIT, da Sie sie nach Bedarf ändern / verteilen können.
https://github.com/Fody/Costura/
quelle
Kasse der ServiceStack.Gap Projekt , das zeigt mehrere Beispiele von howto ILMerge ServiceStack in eine einzige plattformübergreifende Exe .
ServiceStack enthält auch eine Reihe anderer Funktionen, die sich besonders gut für die Erstellung eingebetteter Apps eignen:
quelle
.net Core 3 führt zwei neue Optionen in die Projektkonfiguration ein, das Veröffentlichen und Trimmen einzelner Dateien.
Weitere Details zu den Dokumenten finden Sie hier . Die Projektkonfiguration wird hier als Referenz kopiert.
Es wird vollständig unterstützt, die beiden Optionen miteinander zu kombinieren, um eine zugeschnittene Einzelbaugruppe für Ihre Anwendung zu erhalten.
quelle