子DLLの出力パスをライブラリを指すように変更できます。
しかし、これは.NetがDLL解決のために実行時にプローブする標準的なパスではないため、これらの場所から手動でロードしない限り、展開しようとすると問題が発生する可能性があります。
プロジェクト参照がローカルコピーに設定されている場合、Visual Studioがファイルを構成経由でコピーするディレクトリを変更することはできません。
ただし、各ビルド後に自動的にファイルを目的のサブディレクトリに移動するビルド後のコマンドをセットアップできます。
更新
それは、毎日新しいことを学ぶために私を可能にしますので、私はこのサイトが大好きです。場合によっては、標準プロービングパスにパスを追加するために、設定ファイルに追加できるprobing elementが見つかりました。
この構成要素を使用すると、libraries
フォルダのDLLが読み込まれるため、.NetはそのDLLが読み込まれた後に追加作業を行う必要がなくなります(ポストビルドを使用してそのディレクトリに移動する必要があります)コマンド)。ここで
は、コンフィギュレーションをサポートするためのサンプルconfigエントリです:
<configuration>
<runtime>
<assemblyBinding>
<probing privatePath="bin\libraries"/>
</assemblyBinding>
</runtime>
</configuration>
はい私はそれを知っていますが、あなたが意味するこのパスを変更したくありません。それらのdllファイルのコピーが2つあります。彼らはプロジェクトのディレクトリにあり、VSは私が変更したい場所のメインプロジェクトでそれらをコンパイルしています。 – nosbor
@nosbor - なぜですか?正しい場所はアプリケーション自体です。 2つのコピーがある唯一の理由は、Visual Studioのためです。インストーラソリューションをセットアップしてプログラムをインストールした場合、それぞれの単一のコピーが作成されます。指摘したように、あなたが望むものは標準的な動作ではありません。つまり、手作業でファイルをロードする必要があり、それらを参照するためのVisual Studioではありません。あなたが2つのコピーを持っている唯一の理由は、同じコンピュータ上にあなたのソリューションを構築することです。あなたがこれを変更したい理由は、ちょうど愚かです。 –
通常の動作とVs iは現在通常どおり動作しません。見て...すべてのod dllプロジェクトは、自分の/ bin/Debugディレクトリにdllコンパイルされたアセンブリを持っています。さらに、それらのアセンブリをメインのプロジェクト/ bin/Debugフォルダにコピーしています。そして、私は/ bin/Debug/Librariesに変更したいです。 – nosbor