2010-12-14 9 views
3

私のプロジェクトではいくつかのDLLを使用しています。 '.exe'ファイルを作成するには、私はソリューションコンフィグレーションで「リリース済」のみを使用しました。私のコンピュータでは、exeファイルは動作しますが、別のファイルには「ファイルXを読み込めません...」というエラーがあります。 Xはdllファイルです。どうすればこの問題を解決できますか?すべてのDLLをプロジェクトビンにコピーしました。C#ライブラリで ".exe"を作成

答えて

1

EXEと同じフォルダにDLLをコピーします。サブディレクトリに配置すると、app.exe.configファイルの<probing>要素を使用してCLRがそこにある要素を見つけられるようになります。

+2

私は同じディレクトリに持っていますが、別のコンピュータで自分のアプリケーションを使いたいので、exeファイルを使いたいだけです。私は何をすべきか? – user449921

+0

SmartAssemblyやDeepSeaなどのサードパーティのツールを使用してDLLを実行可能ファイルに埋め込むことも、ILマージを使用してアセンブリをマージすることもできます。または、セットアップツールを作成して展開するか、ClickOnceの展開を使用することもできます。 – Guy

+2

これは元の質問に関連していますか? Googleの 'ilmerge' –

1

DLLに依存する必要がない場合は、プロジェクトの「参照」の下で右クリックして削除します。依存関係が必要な場合は、EXEを使用して他のコンピュータに移動する必要があります。

0

上記の回答は依存関係ライブラリを読み込むための一般的なものです。しかし、それはまた、exeがライブラリをロードする方法に依存することがあります。たとえば、MEFには、特定のフォルダからカタログライブラリを読み込むDIエンジンがあります。必要なライブラリがそこになければ、同様の例外が発生する可能性があります。特定の依存関係については、.exe要件を確認してください。

関連する問題