2016-04-19 14 views
-2

Ich habe ein Klassenbibliotheksprojekt, das auf Drittanbieter-DLLs verweist. aber wenn ich meine Klassenbibliothek als dritte Partei (DLL) in den anderen Projekten (Entwickler) referenziere, haben sie einen Fehler bekommen. Die Datei oder Assembly konnte nicht geladen werden. "Third party dlls that my class library project reference". Mein Bedürfnis ist, ich möchte anderen meine Klassenbibliothek dll alleine geben, ohne ihnen die dlls zu geben, von denen es abhängt. Wie kann ich das erreichen?C# Wie paketieren (kapseln) Sie Klassenbibliotheken, die auf DLLs von Drittanbietern verweisen?

+0

Einfache Antwort ist: Sie können nicht, müssen Sie diese Referenzen auch irgendwie bereitstellen. Wenn Sie die einzelnen DLLs nicht wirklich bereitstellen möchten, besteht eine Option darin, die verschiedenen Assemblys (dlls) in einer einzigen Datei zusammenzufassen [mithilfe von ILMerge, wie in diesem Code Project-Artikel beschrieben] (http://www.codeproject.com)/Articles/9364/Merging-NET-Assembly-using-ILMerge). Aber beachte auch die Lizenzierung anderer Drittanbieter (wie du es vielleicht nicht darfst!) – bassfader

+0

Du meinst, ich kann das nicht tun – yo2011

Antwort

0

Wenn Ihre DLL von einigen anderen DLLs abhängt, können Sie Ihre DLL alleine verteilen, aber niemand kann sie verwenden, ohne die richtigen Abhängigkeiten hinzuzufügen.

Dies ist zum Beispiel das, was Nuget tut. Sie kompilieren Ihre DLL mit einem bestimmten Nuget Package. Verteilen Sie nur Ihre DLL und weisen Sie die Benutzer Ihrer DLL an, die richtigen Nuget-Pakete an ihrem Ende hinzuzufügen.

+0

Hallo danke für deine Hilfe, aber ich möchte nicht, dass meine Benutzer die installieren referenzierte DLLs nur ich möchte, dass sie auf meine DLL verweisen – yo2011

+0

Dann sind Sie auf @bassfaders Antwort. Das Zusammenführen der DLLs zu einem oder das Freigeben der DLLs, auf die Sie angewiesen sind, hängt von Ihren eigenen ab. In beiden Fällen müssen Sie die Lizenzvereinbarungen auf beiden prüfen, um sicher zu gehen, dass Sie dies tun dürfen. –

Verwandte Themen