0

こんにちは、msbuild を使用するのはこれが初めてで、それを dll にコンパイルできないようです。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(490,9): エラー: このプロジェクトの OutputPath プロパティが設定されていません。有効な構成/プラットフォームの組み合わせを指定したことを確認してください。構成='デバッグ' プラットフォーム='すべての CPU'

エラーとivはどこでも検索され、解決策はないようです、iv別のマシンで試しても同じエラーが発生し、環境変数を確認しましたが、どれもそれに影響していないようですまた、projファイルにbin\Debug\が含まれていることを確認しました誰か教えてください私はどこが間違っているのですか?私は困惑しています。私がこれと学習に非常に慣れていないだけで、意味が分からない場合は申し訳ありません。

4

1 に答える 1

1

.csproj ファイルには .csproj が含まれている必要があります<OutputPath>bin\Debug\</OutputPath>。Visual Studio がプロジェクト ファイルを作成すると、次のように、構成とプラットフォームの組み合わせによって条件付けられ<OutputPath>た要素内に配置されます。<PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  <OutputPath>bin\Debug\</OutputPath>
  ...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  <OutputPath>bin\Release\</OutputPath>
  ...
</PropertyGroup>

ここで、パラメーターを指定せずにコマンド ラインから MSBuild を実行すると、エラー メッセージが示すように、およびのDebug既定値として使用されます。ConfigurationAnyCPUPlatform

したがって、どうやら、プロジェクト ファイルには Debug|AnyCPU の組み合わせ<PropertyGroup>を含むがありません。<OutputPath>

これを強制する簡単な方法は、OutputPath プロパティの値をコマンド ライン スイッチとして指定することです。

MSBuild my.csproj /p:OutputPath=bin\Debug\

問題は、通常、必要なオプションがさらに<PropertyGroup>含まれ<OutputPath>ていることです。そのため、プロジェクト ファイルで Configuration と Platform の有効な組み合わせを見つける必要がある場合があります。そのような組み合わせが見つかったら、同じコマンド ライン スイッチを使用して、それに応じてプロパティを設定できます。

MSBuild my.csproj /p:Configuration=Release /p:Platform=x86
于 2012-09-07T19:28:53.700 に答える