Jenkins/MSBuildソリューションをビルドすると、このエラーが発生します
c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483,9): error :
The OutputPath property is not set for project '<projectname>.csproj'. Please check to
make sure that you have specified a valid combination of Configuration and Platform
for this project. Configuration='Latest' Platform='AnyCPU'. You may be seeing this
message because you are trying to build a project without a solution file, and have
specified a non-default Configuration or Platform that doesn't exist for this project.
[C:\<path>\<projectname>.csproj]
何か案は?
[〜#〜] edit [〜#〜]
.csprojファイルにこれがあります
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Latest|AnyCPU'">
<OutputPath>bin\Latest\</OutputPath>
</PropertyGroup>
テキストエディタでcsprojを開き、プロパティグループセクションがあるかどうかを確認します。次のようになります。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Latest|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Latest\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>Prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
「最新」のビルド構成がありますか?上記のセクションをcsprojに追加しない場合。
VS2013/2015でsln/csprojプロパティを変更せずに、どのように機能するかを理解しました。
/p:ConfigurationPlatforms=Release /p:Platform="Any CPU"
/p:Configuration=Release /p:Platform=AnyCPU
"Any CPU"
vs AnyCPU
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
しかし、Microsoftがcode base :: AMD(cross plt、x86&x64オプション)とWindows(cross、x86、x64)を構築するための6つのcmdオプションを提供し、コード開発が行われたときにわかるように異なる場合がありますデフォルトのJIT(PreJIT ngen.exe、econoJITが可能)Power Shell + msbuildを使用すると、このトラブルシューティング以外にも対処できると思います。誰かに役立つかもしれません...
Csproj XMLを編集するのではなく、perlykingで述べたように、次のことがうまくいきました。ここに私が使用した手順があります。
@Jamesの発言に追加するために、VS2013でプロジェクトのコンパイルプロパティを見ると、ビルド出力パスwasが指定されていることがわかりました。しかし、.csproj
ファイルに直接、関連ビルド構成のOutputPath
要素がありませんでした。そのため、VSで出力パスのマイナーな編集を行い、それを元に戻し、それを保存して、プロジェクトファイルに値を追加して、ビルドすることができました。
同じ問題がありました。コマンドラインを使用してWindowsプラットフォームを更新しました。現在、windows @ 5.0.0バージョンに更新されました。次に、ファイル名「SQLite3.UWP.vcxproj」を検索する必要があります。 「v141」を「v140」に変更してみてください。現在、Visual Studio 2015 Professionalを使用しています。 Visual Studio 2017の場合、SQLite3.UWP.vcxprojファイルのバージョンを変更する必要はありません。
いくつかのプロジェクトで同じ問題が発生しました。プロジェクトに新しい構成を追加した後、プロジェクトファイルの最後にPropertyGroupが追加されました。
他のすべての構成PropertyGroupの直後にPropertyGroupを移動すると、問題が修正されました。
これがお役に立てば幸いです。
私の場合、このエラーは、出力フォルダーにドットが含まれていたために、現在のディレクトリに相対するようになりました。この問題は、ドットを削除することで解決しました。
問題のあるBuild output path
は:
.\bin\Output
次のように変更することで問題を解決しました
bin\Output
ビルド出力パスはプロジェクトプロパティの[Build
]タブにあり、Configuration
とPlatform
の組み合わせごとに異なるパスがあります。
MSBuildの一部のサービスファブリックに問題がありました。
最初のステップは、影響を受ける各プロジェクトを右クリックしてプロパティをプルアップし、[ビルド]タブを選択して、プラットフォームターゲットをx64に設定することでした。
2番目のステップは、構成マネージャーに入り、各プロジェクトがデバッグとリリースにもx64を使用するように設定することでした。
これはVS2017プロジェクト用でした。
このエラーは、Webプロジェクトを公開しているときにのみ発生しました。パブリッシュプロファイルをセットアップするときに、誤って間違ったビルド構成を選択していました。
このエラーが発生したとき、MSBuildを使用して複数の.slnファイルをビルドしていましたが、.csprojファイルもビルドする新しい手順を追加していました。
@Saurabhの answer は、問題の根本を強調しています。ただし、修正するときに、MSBuildの引数セクションに_/p:Platform=AnyCPU
_を追加しても修正されませんでした。実際に、ビルドステップでプラットフォームの値を更新する必要がありました。
他のすべてのビルド手順では、$(BuildPlatform)
変数値(たまたまスペースが入った「任意のCPU」)を使用していました。
(複数の.csprojファイルを作成していた場合、AnyCPUプラットフォーム用に2番目の変数を作成していたでしょう。)
Debug
とRelease
の2つのプロジェクト構成がありました。 Release
ビルドを使用すると、このエラーがスローされました。私が見つけた問題は、csproj
ファイルで、Debug
の設定が一番近くにあり、Release
の設定が一番下にあることでした。
Release
ビルドをDebug
ビルドのすぐ下に手動で移動すると修正されました。
ビルド構成をセットアップするときに、手動で調整する必要があるとは思わないので、間違って何かをしたと仮定しています。
OutputPathプロパティがプロジェクトに設定されていませんエラーメッセージは、Platform
環境変数が存在し(HPラップトップで発生するようです)、MSBuildのターゲットに別のVisualへの参照が含まれている場合に表示されますスタジオプロジェクト。
Platform環境変数の名前を変更すると、ビルドが機能するようになりました。
パラメーター/p:Platform="Any CPU"
はターゲットソリューションに適用されますが、参照プロジェクトには「持ち越し」されないようです。私のインスタンスでは、参照プロジェクトが環境変数Platform=MCD
を使用していることを示すエラーメッセージが表示されました。
このエラーは誤解を招くものであり、別の問題が原因である可能性があります。メッセージ全体を確認します。
The OutputPath property is not set for project 'myproject'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='myconfig' Platform='AnyCPU'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.
私のビルド構成では、csprojにこのノードがありませんでした。
<PlatformTarget>AnyCPU</PlatformTarget>
ドロップダウンでAnyCPUが選択されたプラットフォームであると言っても、実際のxmlはありませんでした。これを追加すると、プロジェクトとそれが参照していた他のプロジェクトとの間の不一致が修正されました。