2012-04-25 12 views
0

私のプロジェクトにはすべて、3 <PropertyGroup>のアイテムがあるようです。OutputPathはすべてのPropertyGroupの必須フィールドですか?

ワン:

<PropertyGroup> 
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 

2:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 3:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

FinalBuilderは失敗してきました。私がプロジェクトファイルに入り、<OutputPath>bin\Debug\</OutputPath>をthe.csprojファイル(私が理解しているようにMSBUILDファイル)の最初の要素に追加すると、ビルドは成功します。

残りの2つの要素には既に<OutputPath>が定義されています。

これは3つの要素すべてに必須のフィールドですか?なぜ私のプロジェクトファイルの最初の要素に欠けていますか?

答えて

1

msbuildはプロジェクトをコンパイルするときに、OutputPathを引数としてビルド出力を配置する場所に配置します。

.csprojファイルは、構成、およびプラットフォームを切り抜いするために、そのConditionel PropertyGroups、第1

に、特定の特性があり、いくつかのデフォルト設定を有しています。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> 

このノード内のプロパティは、デフォルトの設定を上書きするため、ビルドを特化できます。

異なるプロパティグループをヒットするには、msbuildにいくつかの引数があります。たとえば、 "Release | x86"というコマンドを実行すると、次のようになります。

msbuild /p:Configuration="Release" /p:Platform="x86" 

MSBuildがデフォルトpropertygroupからプロパティを使用しており、この例では、条件を満たしているpropertygroup、から/使用特性を上書きします|コード

あなたの問題の音をコンパイルするには、「リリースのx86」 msbuildは適切な引数を持たないので、適切なプロパティグループを評価することができます

関連する問題