Ich verwende C # Express 2010. Ich habe eine WPF-Anwendung mit freien VIBlend Edit-Steuerelementen erstellt. Diese Steuerelemente verwenden die entsprechenden DLLs. Kann ich eine eigenständige ausführbare Datei erstellen? Ich möchte nur das exe auf einen anderen Rechner kopieren (das Framework ist natürlich installiert), aber ich möchte die DLL nicht kopieren!
Antworten:
3 für die Antwort № 1Versuchen Sie es mit ILMerge
1 für die Antwort № 2
ILMerge
Hier finden Sie einige Ressourcen zu ILMerge, die Ihnen hilfreich sein könnten:
- .NET-Assemblys mit ILMerge zusammenführen
- Wann und wie wird ILMerge verwendet?
- ILMerge-Aufgaben für NAnt & MSBuild
GAC verwenden
Sie können die DLLs im globalen Assemblycache (GAC) auf dem Clientcomputer registrieren, um die Assemblys von dort aus verwenden zu können.
Sie müssten aber in GAC installiert werden.
Bearbeiten
Es scheint, als hätte ich mich geirrt, jedoch würde ich dringend davon abraten, Drittanbieter-DLLs in eine ausführbare Datei aufzunehmen, da dies in der Lizenzvereinbarung möglicherweise nicht zulässig ist.
0 für die Antwort № 3
Nicht wirklich, es sei denn, Sie haben den Quellcode für die Bibliothek und sind dann bereit, die Zeit zu verwenden, um alle Probleme zu lösen, die beim Einfügen des Codes in Ihre ausführbare Assembly auftreten.
Wenn Sie ein Produkt zum Zusammenfügen von Baugruppen verwenden (z SmartAssembly) dann können Sie alles in einer EXE-Datei zusammenführen, aber SmartAssembly ist nicht frei. (Es ist jedoch ein großartiges Produkt, das weit mehr als nur das Zusammenfügen von Baugruppen leistet.)
0 für die Antwort № 4
3. Möglichkeit (von den beiden bereits genannten) ist zuPacken Sie das Ganze in ein Installationsprogramm (MSI). Dazu müssten sich die DLLs immer noch irgendwo befinden (entweder im App-Ordner oder in GACd), sie werden jedoch dem Client auf eine kontrollierte Weise präsentiert. Sie installieren einfach das Paket.
0 für die Antwort № 5
.NET unterstützt dies sofort. Sehen dieser Leitfaden wie man.