0

通常、ビジュアル スタジオは出力ファイルを bin/debug または bin/release に配置します。

ソリューションに多数のプロジェクトが含まれている場合、各プロジェクトの出力を手動で変更するのは簡単ではありません。

また、csproj ファイルの編集は望ましくありません。それらの一部はソリューション間で共有されているためです。

私の質問:出力パスをすばやく設定できるツールを知っている人はいますか?

更新: TFS ビルドによって解決された私の問題

4

2 に答える 2

2

次の手順に従うと、msbuild プロパティを使用してプロジェクトをカスタマイズできます。

ソリューション エクスプローラーに移動し、1 つのプロジェクトを右クリックしてアンロードし、[プロジェクトのアンロード] を選択します。

次に、アンロードされたプロジェクトをもう一度右クリックし、[プロジェクトの編集] を選択します。これにより、プロジェクトの XML 定義が開き、次の手順を実行するのに役立つレイアウトの Intellisense が表示されます。

Visual Studio エディターで、最初の PropertyGroup タグを見つけ、PropertyGroup の終了タグの近くまたは末尾に次の行を追加します。

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<BuildDirectory Condition="$(BuildDirectory) =='' or $(BuildDirectory) == '*Undefined*'">$(SolutionDir)\build\</BuildDirectory>

上記の SolutionDir は、次の回答を使用して取得できる msbuild プロパティで定義されています:ソリューション情報を使用した msbuild スクリプト。また、ここでよく知られている msbuild プロパティを確認してください。

次のステップは、各構成の OutputPath タグを見つけて、次のように編集することです。

<OutputPath>$(BuildDirectory)\x86\AutomatedDebug\</OutputPath>

上記の例では、宛先プラットフォームが x86 の AutomatedDebug という名前の構成があることを前提としています。

出力は次のようになります。

x:\projects\whereever-your-solution-is\build\x86\AutomatedDebug\

プロジェクトごとに繰り返します。

複数のプロジェクトをアンロードするには、ソリューション エクスプローラーですべてのプロジェクトを折りたたみ、Shift クリックまたは Ctrl クリックしてすべてまたは一部のプロジェクトを選択し、選択したグループを右クリックしてアンロードします。残念ながら、少なくともビジュアル スタジオでは、編集のためにこれを行うことはできません。 2010年。

既存のプロジェクトに対してこれを行うのはやや面倒であることを認めたのは初めてですが、これらの設定を変更したビジュアル スタジオ プロジェクト テンプレートを簡単に作成して、新しいプロジェクトがより便利な既定の出力ディレクトリを使用できるようにすることができます。

プロジェクト プロパティ エディターは $() で囲まれたテキストをエスケープするため、Visual Studio で出力ディレクトリを直接編集することはできません。

また、$() で囲まれたシステム環境変数の名前を使用してのみ、OutputPath を変更できます。この最後のオプションは、グローバル出力ディレクトリを有効にすることです。

コマンドラインで msbuild を直接使用して、このように変更された単一のプロジェクトをビルドすると、出力ディレクトリは、msbuild を実行した場所の 1 つ上のディレクトリに作成されます。

..\build\x86\AutomatedDebug

チームに参加している場合は、出力ディレクトリを手動で直接編集しないようにチームに警告する必要があります。この操作によりカスタマイズが上書きされるためです。

この情報がお役に立てば幸いです。ご挨拶。

于 2013-04-25T01:56:58.743 に答える