0

私は自分のソリューションでいくつかのサードパーティライブラリを使用しており、これらを3rdPartyと呼ばれる別のソース制御フォルダーに保存しました。VS2008IDEからこのフォルダーにDLLへの参照を追加しました。ただし、ソリューションを保存、閉じ、開いた後、GAC内のアセンブリを指すように参照が変更されていることがわかりました。

3rdPartyフォルダーを使用する理由は、GACフォルダーに何もインストールしなくても、どのマシンからでも簡単に最新バージョンを取得してプロジェクトをビルドできるためです。VS2008で参照を変更しないようにするにはどうすればよいですか?

編集:ベンジョルの答えを見た後、私はこれを修正するためにアセンブリマニフェストを使用できるかどうか疑問に思っていました。これは私の問題を解決するのに役立ちますか?

4

4 に答える 4

0

参照には「CopyLocal」設定があります。これをtrueに設定し、SpecificVersion設定をfalseに設定すると、GACではなくローカル参照を使用する必要があります。

GAC dllは、共有されるように設計されているため、ローカルDLLの前に参照されますが、特定のバージョンが指定されている場合にのみ選択する必要があります。

これらのアセンブリが引き続き問題を引き起こす場合、GACからこれらのアセンブリを削除することは可能ですか?

于 2009-06-16T12:42:02.383 に答える
0

VSにローカルフォルダーを検索させることができたとしても、.NetはとにかくGACを最初に検索するため、実行時(つまり、F5 /デバッグランタイム)には役に立ちません。

また、CopyLocal、AFAIKを参照すると、参照されているDLLのバージョンをプロジェクトの/ binフォルダーにコピーするようにコンパイラーに指示するだけなので、「複雑な」パスに問題はありません。

于 2009-07-23T09:39:33.600 に答える
0

ローカル アセンブリを取得するには、プロジェクト プロパティの [参照パス] タブに移動し、ローカル ディレクトリ (この場合はサード パーティ) をディレクトリのリストに追加する必要があります。これで問題が解決するはずです。

于 2010-09-09T08:09:24.510 に答える
-1

ここでも同様のアプローチを使用していますが、フォルダーを と呼んでいますReferencedDLLsが、これまでのところ問題はありませんでした。

ただし、試すことができる 1 つのことは、プロジェクト ファイルを編集してPathHint問題の参照を削除することです。この方法では、VS2008 はどこを見ればよいか分からず、通常のアプローチを開始します。

于 2009-06-16T11:11:44.467 に答える