web-dev-qa-db-ja.com

Visual StudioでコンパイルするときにDLLを別のフォルダーに保存する方法は?

Window Forms/Console ApplicationC#いくつかの外部参照および同じソリューション内の他のクラスライブラリプロジェクトへの参照を含むプロジェクト。

Window Formプロジェクトをビルドすると、参照ライブラリを別の場所に保存したい(例:bin\Release\Libraries)、。exeと同じフォルダ内ではない

それは可能ですか?

30
Oscar Mederos

質問には2つの部分があります。

選択したフォルダーにアセンブリ/ EXEをビルドするソリューションを構成する方法-これは、VSのプロジェクトのプロパティ(プロジェクトプロパティ->ビルド->出力パス)で構成されます。各参照の「copy local」プロパティをチェックする値も。

デフォルト以外の場所(...\Librariesフォルダーなど)からアセンブリファイルを読み込む方法-app.configファイルを変更して、このデフォルト以外のパスをアセンブリ検索場所に追加する必要があります( http ://support.Microsoft.com/kb/837908 )。

16
Alexei Levenkov

正解は以前に与えられました。 PrettyBin と呼ばれるこのためのnugetパッケージがあることに言及します。

スタートアッププロジェクトにインストールします。 DLLとXMLはlibフォルダーに移動し、カスタマイズしない場合の実行方法の実例があります。

7
aershov

プロジェクトのプロパティに参照パスを設定します。

プロジェクトpeopertiesで出力パスを指定することにより、コンパイル済みexeの保存先を指定することもできます。

2
ukhardy

プロジェクト参照を整理するためのベストプラクティスは次の場所にあります。 http://codebetter.com/patricksmacchia/2009/01/11/lessons-learned-from-the-nunit-code-base/

「VisualStudioプロジェクトリファレンス+真のローカルコピーオプションは悪です!」の章をご覧ください。

1
Petar Repac

はい、可能です。msbuildスクリプトで実行できます。私はあなたに正確な答えを与えることはできませんが、SO msbuildを使用してすべてのファイルとフォルダをコピーする

0