2016-04-19 10 views
-2

私はサードパーティのDLLを参照するクラスライブラリプロジェクトを持っています。他のプロジェクト(開発者)の第三者(dll)としてクラスライブラリを参照すると、エラーが発生します。ファイルまたはアセンブリをロードできませんでした。 "クラスライブラリプロジェクトが参照するThridパーティDLL"。 私が必要としているのは、それが依存するDLLを与えることなく、他の人にクラスライブラリdllを与えることです。どうすればそれを達成できますか?C#サードパーティのDLLを参照するクラスライブラリをパッケージ化(カプセル化)する方法はありますか。

+0

簡単な答えは:あなたはできません、これらの参照をあまりにも何らかの形で提供する必要があります。実際に個々のDLLを提供したくない場合は、異なるアセンブリ(dll)を1つのファイルに統合すること([このコードプロジェクトの記事で説明されているようにILMergeを使用)](http://www.codeproject.com /記事/ 9364/Merging-NET-assembles-ILMergeを使用して)しかし、他のサードパーティのリンケンジングにも気をつけてください(あなたがそれをすることを許可されていないかもしれません)。 – bassfader

+0

私はこれを行うことができないということを意味します – yo2011

答えて

0

DLLが他のDLLに依存している場合は、DLLを単独で配布することはできますが、正しい依存関係を追加しなくてもそのDLLを使用することはできません。

これは、たとえばNugetの機能です。特定のNugetパッケージを考慮してDLLをコンパイルします。 DLLのみを配布し、正しいNugetパッケージを最後に追加するようにDLLのユーザーに指示します。

+0

こんにちは、あなたの助けを感謝します。参照されたdllだけ私は彼らが私のdllを参照するようにしたい – yo2011

+0

それからあなたは@bassfaderの答えに至りました。 DLLを1つにマージするか、自分自身に依存しているDLLを解放します。どちらの場合も、両方のライセンス契約を確認して、これを許可されていることを確認する必要があります。 –

関連する問題