Visual Studio 2008にはマルチプロジェクトソリューションがあります。Release-VersionIncrementという新しい構成をソリューションに追加し、「use release」構成をベースラインとして指定しています。すべてのプロジェクトファイルがその構成で更新されました。ただし、この構成を使用して特定のプロジェクトをコンパイルしようとすると、次のエラーが表示されます。
エラー5 OutputPathプロパティがこのプロジェクトに設定されていません。有効な構成/プラットフォームの組み合わせを指定したことを確認してください。 Configuration = 'Release-VersionIncrement' Platform = 'AnyCPU' C:\ WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets 539 9 DataConversion
ここで何が起こっていますか?プロジェクトは、リリースまたはデバッグ構成で正常にコンパイルされます。
通常、これはプロジェクトファイルのOutputPathプロパティが空白の場合に発生します。プロジェクトファイルは MSBuild ファイルです。 Visual Studioで編集するには、プロジェクトを右クリックして[プロジェクトのアンロード]を選択し、アンロードされたプロジェクトを右クリックして[編集...]を選択します。
Release-Versionincrementプロパティグループを探します。次のようになります
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' ">
<OutputPath>bin\Release-VersionIncrement\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>Prompt</ErrorReport>
</PropertyGroup>
重要なのはOutputPathで、プロジェクトファイルに存在しますか?追加しない場合は、再試行してください。
また、ビルドエージェントが「AnyCPU」(プロジェクトファイルで指定された1つのWord)ではなく、プラットフォーム「Any CPU」(Visual Studioに表示されるスペースを含む)を実行するように構成されたときに、このエラーを見ました)。
最初にMSBuildを使用したときに同じ問題が発生しました。私の解決策は、OutputPathプロパティを確実に使用することです。このような:
msbuild XXX.csproj /p:OutputPath=bin\Debug.
このケースでは、HP開発者ボックスでビルドスクリプトを実行していました。 HPには、独自の目的のために設定された環境変数がいくつかあり、そのうちの1つはPLATFORM(「HP Easy Setup」に使用されているようです)です。
PLATFORM環境変数の削除が機能しました。
プラットフォームを指定することで、ビルドスクリプトを将来的に保証することもできます。msbuild /p:Platform=AnyCPU
。
Visual Studioから「Platform = 'BPC'」という苦情が特にあった場合は、「Platform」環境変数を削除することで簡単に修正できます。
Visual Studioを再起動すると、準備完了です。
前述のように、OutputPathを設定する必要があり、.wixprojファイルにbefore<Import Project="$(WixTargetsPath)" />
を配置する必要があります
「Richard Dingwall」のように、問題はdisplay「AnyCP」のバージョンではなく、実際に「AnyCP」を読み取るMSBuildバージョンの代わりに
「ビルド/新規ビルド定義」または「ビルド定義の編集->プロセス->ビルドする構成」に進み、構成選択ダイアログを開き、「Any CP」を選択する代わりに「Platform " "、手動で追加" AnyCP "
この問題にぶつかったときに、今日ソリューションにx64プラットフォームを追加していました。
私の場合、エラーは次のとおりです。
デフォルトのターゲット用に$/ProjectDirectory/ProjectName.csprojを構築しました。 c:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(484):OutputPathプロパティはプロジェクトProjectName.csproj 'に設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定したことを確認してください。 Configuration = 'Debug' Platform = 'x64'。ソリューションファイルなしでプロジェクトをビルドしようとしており、このプロジェクトに存在しないデフォルト以外の構成またはプラットフォームを指定しているため、このメッセージが表示される場合があります。
これは既存の有効なVSソリューションであったため、OutputPath
で問題ないことを知っていました。そこで、次のヒント「構成とプラットフォームの有効な組み合わせ」に移りました。
あぁ! Visual StudioはConfiguration='Debug', Platform='x64'
を構築しようとしています。プロジェクトファイルを見ると、x64が可能なプラットフォームの1つとしてリストされていないことに気付きました。言い換えると、以下のエントリがありました(短縮):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
. . .
</PropertyGroup>
簡単な修正:x64エントリを追加するだけです!
X86エントリをコピー/貼り付けし、x64を使用するように変更しました。これらがx86ビルドを上書きしないようにパスも変更したことに注意してください。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Release\</OutputPath>
. . .
</PropertyGroup>
Platform
環境変数を削除しました(BNBまたはそのようなsmthでした)。問題はなくなりました。
私はしばらくこれに苦労し、その後、ソリューションで問題のプロジェクトをアンロード、ビルド、および再ロードし、MSBuildが正しく機能しました。
スコットSとして、「プラットフォーム」環境変数を削除する必要がありました。
その後、VSを再起動すると、問題ありません:これ以上エラーメッセージはありません...
問題は、私のプロジェクト構成に関係していました。シナリオは次のとおりです。
ソリューションA参照:
プロジェクトXはプロジェクトYを参照します
プロジェクトY
ソリューションB(私が構築しようとしているもの)参照:
プロジェクトXプロジェクトZ
私の解決策は、ソリューションAと同じ名前の構成を作成し、それを再構築してからソリューションBを再構築することでした。これにより問題が修正されました。
これと同じエラーメッセージが表示されました。これは、アンロードされたプロジェクトへの参照があり、リンカーに必要ではないために発生しました(そうでない場合は、コンパイル時に失敗します)。問題のある参照を削除することで問題は解決しました。
私の場合(VS2010)、[ビルド]タブにある[出力パス]ボックスの文字列を削除し、空白のままにしました。次に、ソリューションを再構築しました。ビルドは成功し、VSは現在のディレクトリ「./」を「OutputPath」に挿入しました。現在のディレクトリ "./"を自分のパス( "bin\x64\Release \"-VSが最初に不平を言っていた正確なフォルダパスであると言うだけで十分です)に置き換え、再構築が再び成功しました。
ソリューションに新しいソリューション構成を追加すると、「プロジェクトXのOutputPathプロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定したことを確認してください。Configuration= 'QA 'Platform =' AnyCPU '。このエラーは、他のプロジェクトがこのプロジェクトへのプロジェクト間参照を試みている場合、このプロジェクトがアンロードされているか、含まれていない場合にも表示されることがありますソリューション、および参照プロジェクトは、同じまたは同等の構成またはプラットフォームを使用してビルドしません。ProjectY "。
私の場合、問題はエラーの説明のハイライトされた部分が原因でした。私のソリューションのプロジェクトXの部分には、別のソリューション(別のブランチ)のProjectYへのプロジェクト参照がありました。
現在のソリューションでProjectYへのプロジェクト参照を使用するようにプロジェクトXを変更することで、この問題を解決しました。これが同様の問題を抱えている人の助けになることを願っています。
私の場合、OutputPathはプロジェクトファイルのプロパティに設定されていました。しかし、アンロード、リロード、再構築により修正されました。
同じ問題を抱えていましたが、唯一の解決策は、各NCrunchプロジェクトでビルド構成を手動で設定することでした。
NCrunchウィンドウを開きます。このウィンドウでは、各ビルドのステータスを確認でき、ビルドが失敗したことを確認できます。ビルドに失敗したプロジェクトを右クリックし、「選択されたコンポーネントの構成」をクリックして、「ビルド設定」の下に「ビルド構成を使用」プロパティを設定します。 「デバッグ」と「ビルドプラットフォームを使用」プロパティで設定します。 「AnyCPU」。 (設定するビルドおよび構成設定は、konfigration設定に存在する必要があることに注意してください)
すべてのプロジェクトに対してこれを行いますが、テストプロジェクトに対しては行いません。この後、すべてがうまくいきます。
OutputPathをパラメーターとして設定することを決定し、パスがbin\Release\\
のようになっている場合、\
を最後に追加することを忘れないでください:/p:OutputPath=bin\Release\\\\
ケース
誰かがNCrunchログでこれを取得している場合、値「Debug」/「Release」および「AnyCPU」/「x86」を定義するPropertyGroup
がプロパティグループbefore条件でこれらの値を使用します。
<PropertyGroup>
<!-- this one first -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<XXX>...</XXX>
</PropertyGroup>
私のために働いた。
同じ問題がありました。私はそれをきれいにして修正し、プロジェクトを再構築しました。
私の場合、カスタム設定を含むプロパティグループを標準設定の下に移動しようとしました。それは私のために解決しました。
私の場合、ドキュメントの下部に新しい「PropertyGroup」XMLブロックが生成されました。他の「PropertyGroup」タグの後に置き換えたところ、問題が解決しました。
同じエラーが発生したため、プロジェクトの設定を確認しました。[ビルド]セクションには[出力パスのビルド]オプションがあります。そして、値は空でした。そこで、エラーが消えた「bin \」値を入力しました。それは私の問題を解決しました。
VS2015 Professionalでこれをちょうど持っていました:
プロジェクト 'xxxxx.csproj'のOutputPathプロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定したことを確認してください。
これは、デバッグ/リリースと異なるターゲットとの間のマルチプロジェクトジャグリングでもあります。私はある時点でビルド構成をいじっていましたが、それがVSを台無しにする可能性があることを知っているので、レポからそれらを引き戻しました。まだダメ。 OutputPathが設定され、既知の良好な状態の差分がなくなったため、ローカルインストールに間違いがありました。
VS2015インストーラーを開き、「修復」をクリックして、出来上がりました...通常の状態に戻ります(少なくともこれまで!)
既存のプロジェクトを参照する新しいソリューションで新しいプロジェクトを作成しました。このエラーは、既存のプロジェクト(プロジェクト1など)を追加し、プロジェクト1が参照する他のプロジェクトを追加せずにビルドしようとすると発生します。
関連するすべてのプロジェクトが新しいソリューションに追加され、エラーが消えることを確認してください。
私は同じ問題を抱えていました。失敗したプロジェクトに不足している構成を追加することで修正しました。
ビルド->構成マネージャー->
[構成]列の[追加]
注:これは、カスタム構成があり、新しく作成されたプロジェクトに構成がないために起こりました。