0

クルーズ コントロール用のスクリプトの作成に取り組んでおり、ccnet.config ファイル内で次の msbuild タスクが定義されています。

<msbuild>
        <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
        <workingDirectory>D:\ccnet\WorkingDirectories\Image Finder\Released\</workingDirectory>
        <projectFile>ImageFinder.sln</projectFile>
        <buildArgs>/p:DoEvents=false /p:Configuration="Release" /p:Platform="Any CPU" /verbosity:detailed</buildArgs>
        <targets>Rebuild</targets>
        <timeout>900</timeout>
</msbuild>

ビルドを強制すると、次のエラーが表示されます。

errorMSB4126: 指定されたソリューション構成 "Release|Any CPU" は無効です。構成とプラットフォームのプロパティ (MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU" など) を使用して有効なソリューション構成を指定するか、これらのプロパティを空白のままにして、既定のソリューション構成を使用してください。

msbuild スクリプトが定義されていれば、すべてが正しく機能するという印象を受けました。他のプロジェクト用に他の場所で定義された同様のブロックがあり、それらは正常にビルドされます。上記のエラーが発生する理由について、誰かが洞察を持っていますか?

アップデート:

これは、現在作業中のアクティブ バージョンのソース管理スクリプトであり、正常にビルドされます。

 <msbuild>
        <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
        <workingDirectory>D:\ccnet\WorkingDirectories\Image Finder\Active\</workingDirectory>
        <projectFile>ImageFinder.sln</projectFile>
        <buildArgs>/p:DoEvents=false /p:Configuration="Debug" /p:Platform="Any Cpu" /verbosity:detailed</buildArgs>
        <targets>Rebuild</targets>
        <timeout>900</timeout>
      </msbuild>

私が見ることができた唯一の変更は、リリースビルドが「デバッグ」ではなく「リリース」構成を使用していることでした.デバッグ構成に変更すると動作しますが、問題はデバッグバージョンを使用できないことです. この小さな変更によってビルドが機能しなくなる理由はありますか?

4

1 に答える 1

2

ソリューションに「Release|Any CPU」構成が設定されていますか? はいの場合、その構成用にビルドするために選択されたプロジェクトはありますか?

Platform 引数を削除すると、Release 構成の既定の Platform が取得されます。多分それはあなたを動かすでしょう。

于 2013-05-15T23:44:56.387 に答える