89

Visual Studio 2008にマルチプロジェクトソリューションがあります。ソリューションにRelease-VersionIncrementという新しい構成を追加し、ベースラインとして「userelease」構成を指定しました。すべてのプロジェクトファイルは、その構成で更新されました。ただし、この構成を使用して特定のプロジェクトをコンパイルしようとすると、次のエラーが発生します。

エラー5このプロジェクトのOutputPathプロパティが設定されていません。有効な構成/プラットフォームの組み合わせを指定していることを確認してください。Configuration ='Release-VersionIncrement' Platform ='AnyCPU' C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion

ここで何が起こっているのですか?プロジェクトは、リリースまたはデバッグ構成で正常にコンパイルされます。

4

28 に答える 28

94

通常、これはプロジェクトファイルの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ですが、プロジェクトファイル用に存在しますか?そうでない場合は、追加して再試行してください。

于 2009-07-09T03:27:09.947 に答える
79

また、ビルドエージェントが「 AnyCPU」(プロジェクトファイルで指定されている1つの単語)ではなく、プラットフォーム「 Any CPU 」(Visual Studioに表示されるスペースを含む)を実行するように構成されている場合にも、このエラーが発生します。

于 2010-09-01T12:23:49.343 に答える
36

最初にMSBuildを使用したときにも同じ問題が発生しました。私の解決策は、OutputPathプロパティを確実に使用することです。このような:

msbuild XXX.csproj /p:OutputPath=bin\Debug.
于 2010-02-25T09:29:34.623 に答える
11

この例では、HP開発者ボックスでビルドスクリプトを実行していました。HPには、独自の目的で設定した環境変数がいくつかあり、そのうちの1つはPLATFORMです(明らかに、「HP EasySetup」に使用されます)。

PLATFORM環境変数の削除は機能しました。

プラットフォームを指定することで、ビルドスクリプトを将来にわたって利用できるようにすることもできます
msbuild /p:Platform=AnyCPU

于 2012-03-30T14:18:59.697 に答える
9

VisualStudioが特に「Platform='BPC'」と文句を言う場合は、「Platform」環境変数を削除することでこれを簡単に修正できます。

この悪い子を削除します。

Visual Studioを再起動すると、準備が整います。

于 2013-06-06T23:32:41.710 に答える
6

RichardDingwall 」がほのめかしたように、問題は、実際に「 AnyCPU 」を読み取るMSBuildバージョンではなく、「AnyCPU」の表示バージョンを使用するVSに関連しています。

ビルド/新規ビルド定義またはビルド定義の編集->プロセス->構成に移動してビルドし、構成選択ダイアログを開き、 「任意のCPU 」を選択する代わりに「プラットフォーム」で「 AnyCPU」を手動で追加します

于 2011-08-16T14:46:20.757 に答える
6

前述のように、OutputPathを設定し、.wixprojファイルの に配置する必要があります<Import Project="$(WixTargetsPath)" />

于 2014-04-16T15:19:25.010 に答える
4

環境変数を削除しましたPlatform(BNBまたはそのようなsmthでした)。問題はなくなりました。

于 2010-11-19T13:35:29.257 に答える
4

この問題が発生したとき、私は今日、x64プラットフォームをソリューションに追加していました。

私の場合、エラーは次のようになります。

デフォルトのターゲット用に$/ProjectDirectory/ProjectName.csprojを作成しました。c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(484):プロジェクトProjectName.csproj'のOutputPathプロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせが指定されていることを確認してください。Configuration ='Debug' Platform='x64'。ソリューションファイルなしでプロジェクトをビルドしようとしていて、このプロジェクトに存在しないデフォルト以外の構成またはプラットフォームを指定したために、このメッセージが表示される場合があります。

これは既存の実用的なVSソリューションであったため、OutputPath問題ないはずです。そこで、次のヒントである「構成とプラットフォームの有効な組み合わせ」に移りました。

あはは!VisualStudioはビルドしようとしてい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>
于 2012-11-14T02:14:55.893 に答える
3

私はしばらくこれに苦労し、その後、ソリューションで問題のあるプロジェクトをアンロード、ビルド、およびリロードした後、MSBuildが正しく機能しました。

于 2011-05-20T17:43:47.047 に答える
3

私の場合(VS2010)、[ビルド]タブにある[OutputPath]ボックスの文字列を削除し、空白のままにしました。次に、ソリューションを再構築しました。ビルドは成功し、VSは現在のディレクトリ「./」を「OutputPath」に挿入しました。現在のディレクトリ"./"を自分のパス( "bin \ x64 \ Release \"-これはVSが最初に文句を言っていた正確なフォルダパスであると言えば十分です)に置き換え、再構築は再び成功しました。

于 2012-12-11T19:25:17.980 に答える
3

スコットSとして、私は「プラットフォーム」環境変数を削除する必要がありました。

次にVSを再起動すると、問題ありません。エラーメッセージはもうありません。

于 2015-05-04T13:03:31.637 に答える
2

これと同じエラーメッセージが表示されました。これは、アンロードされ、リンカーによって必要とされないプロジェクトへの参照があることが原因でした(そうでない場合、コンパイル時に失敗します)。問題のある参照を削除すると、問題が解決しました。

于 2012-05-15T22:09:17.907 に答える
2

問題は私のプロジェクト構成に関係していました。シナリオは次のとおりです。

ソリューションAの参照:

プロジェクトXはプロジェクトYを参照しますプロジェクト
Y

ソリューションB(私が構築しようとしているもの)の参照:

プロジェクトXプロジェクトZ

私の解決策は、ソリューションAと同じ名前の構成を作成し、それを再構築してから、ソリューションBを再構築することでした。これにより、問題が修正されました。

于 2009-07-09T14:23:04.367 に答える
1

私の場合、OutputPathはプロジェクトファイルのプロパティに設定されています。しかし、アンロード、リロード、そして再構築で修正されました。

于 2010-11-17T08:21:12.903 に答える
1

ソリューションに新しいソリューション構成を追加すると、「プロジェクトXのOutputPathプロパティが設定されていません。このプロジェクトに構成とプラットフォームの有効な組み合わせが指定されていることを確認してください。Configuration='QA 'Platform ='AnyCPU'。 このエラーは、他のプロジェクトがこのプロジェクトへのプロジェクト間の参照を追跡しようとしていて、このプロジェクトがアンロードされているか、ソリューションに含まれておらず、参照しているプロジェクトが含まれていない場合にも表示されることがあります。同じまたは同等の構成またはプラットフォームを使用してビルドします。ProjectY "。

私の場合、問題はエラーの説明の強調表示された部分が原因でした。私のソリューションのプロジェクトXの部分は、別のソリューション(別のブランチ)のProjectYへのプロジェクト参照を持っていました。

現在のソリューションでProjectYへのプロジェクト参照を使用するようにプロジェクトXを変更することで、この問題を解決しました。これが同様の問題を抱えている人に役立つことを願っています。

于 2017-11-16T13:23:18.120 に答える
0

私の場合、新しい「PropertyGroup」XMLブロックがドキュメントの下部に生成されました。他の「PropertyGroup」タグの後に置き換えたところ、問題は解決しました。

于 2012-05-16T11:07:19.970 に答える
0

既存のプロジェクトを参照する新しいソリューションで新しいプロジェクトを作成しました。このエラーは、既存のプロジェクト(たとえば、プロジェクト1)を追加し、プロジェクト1が参照する他のプロジェクトを追加せずにビルドしようとすると発生します。

関連するすべてのプロジェクトが新しいソリューションに追加され、エラーが消えることを確認してください。

于 2013-04-01T20:49:17.930 に答える
0

同じエラーが発生したので、プロジェクトの設定を確認しました。[ビルド]セクションに[出力パスのビルド]オプションがあります。そして、値は空でした。そこで、「bin」の値を入力すると、エラーが消えました。それは私の問題を解決しました。

于 2013-10-03T09:45:10.133 に答える
0

OutputPathをパラメータとして設定することにし、パスが次のようになっている場合:最後に次のようbin\Release\\に追加することを忘れないでください:それが事実であることに気付くのに時間がかかりました\/p:OutputPath=bin\Release\\\\

于 2016-02-04T01:17:38.787 に答える
0

私も同じ問題を抱えていました。プロジェクトをクリーンアップして再構築することで修正しました。

于 2016-02-12T18:53:49.880 に答える
0

私も同じ問題を抱えていましたが、役立つ唯一の解決策は、各NCrunchプロジェクトでビルド構成を手動で設定することでした。

NCrunchウィンドウを開きます。ここで、各ビルドのステータスと、ビルドが失敗したことを確認できます。ビルドに失敗したプロジェクトを右クリックし、[選択したコンポーネントの構成]をクリックします。[ビルド設定]の下にある[ビルド構成を使用]プロパティを[デバッグ]に設定し、[ビルドプラットフォームを使用]プロパティを次のように設定します。例:「AnyCPU」。(設定するビルドと構成の設定は、構成設定に存在する必要があることに注意してください)

これはすべてのプロジェクトに対して行いますが、テストプロジェクトに対しては行いません。この後、すべてがうまくいきます。

于 2016-02-16T07:45:25.890 に答える
0

同じ問題が発生しました。失敗していたプロジェクトに不足している構成を追加することで修正しました。

ビルド->構成マネージャー->

[構成列の追加]の下に

注:これは、カスタム構成があり、新しく作成されたプロジェクトに構成がなかったために発生しました。

于 2016-04-15T14:54:03.270 に答える
0

誰かがNCrunchログでこれを取得している場合は、プロパティグループの前にPropertyGroupある「Debug」/「Release」および「AnyCPU」/「x86」の値を定義して、それらの値を条件で使用しているかどうかを確認します。

<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>

私のために働いた。

于 2016-11-14T10:19:59.807 に答える
0

私の場合、カスタム構成を含むプロパティグループを標準の構成の下に移動しようとしました。それは私のためにそれを解決しました。

于 2017-08-15T05:28:21.980 に答える
0

VS2015 Professionalでこれを実行しました:

OutputPathプロパティがプロジェクト'xxxxx.csproj'に設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせが指定されていることを確認してください。

これは、デバッグ/リリースとさまざまなターゲット間のマルチプロジェクトジャグリングでもあります。私はある時点でビルド構成をいじっていましたが、それがVSを台無しにする可能性があることを知っているので、リポジトリからそれらを引き戻しました。まだダメ。OutputPathが設定され、正常な状態がわかっている差分がなくなったため、ローカルインストールに間違いなく問題がありました。

VS2015インストーラーを開き、[修復]をクリックすると、出来上がり...通常の状態に戻ります(少なくともこれまでのところ!)

于 2019-04-12T06:03:17.833 に答える
0

私にとっては、NuGetパッケージ構成の行でした。プロジェクトファイルに関連するすべてのパッケージを削除し、復活を確認してください(編集内容を保存してください)。部分的にそれを再び構築するよりも。私はそれを削除しなければならなかったこの行に落としました:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

NuGetパッケージ(主にFxCopアナライザーのもの)を更新した後に問題が発生しました。

于 2020-10-21T08:05:43.943 に答える
0

私にとっては、複数のグループを持つ.csprojファイルでした

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

どこ

<OutputPath></OutputPath>

空でした。

でいっぱいにbin\debugなり、エラーはなくなりました。

于 2021-11-29T20:55:10.027 に答える