Visual Studio 2012 Package Project ( VS2012 SDKから)で .NET ソリューションを作成しました。Visual Studioを使用して、このプロジェクトを(ソリューション全体とともに)「デバッグ」構成モードで、「任意のCPU」プラットフォームで正常にコンパイルおよび実行しました。しかし、MsBuildを使用してコマンド ラインでソリューションをビルドしようとすると、エラーが発生します。
指示:
msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"
エラー:
エラー : VS SDK のインストールが見つかりません。
エラー MSB4018: "FindVsSDKInstallation" タスクが予期せず失敗しました。
エラー MSB4018: System.ArgumentNullException: 値を null にすることはできません。
エラー MSB4018: パラメータ名: path1
エラー MSB4018: System.IO.Path.Combine(String pat h1, String path2) で
エラー MSB4028: "FindVsSDKInstallation" タスクの出力を "IncludesPath" パラメータから取得できませんでした。値を null にすることはできません。
エラー MSB4028: パラメータ名: path1
すべてのアクティビティは、VS2012 と SDK がインストールされたローカルの Windows 7 で実行されます。
Web で解決策を探していたところ、FindVsSDKInstallation タスクがビルド ボックスで失敗するというトピックが見つかりました。プロセスが 32 ビットであるため、このようなプロジェクトは「x86」プラットフォーム用にコンパイルする必要があると言われています。devenv.exe
そこで、Platform Target
プロパティを Project Properties から"x86" ( "Debug"モード用) に変更します。結果は同じです。プロジェクトは VS では正常にビルドされますが、.NET ではビルドされませんMsBuild
。
VS2012 パッケージ プロジェクトが VS を使用して適切にビルドされるのにMsBuild
失敗するのはなぜですか? MsBuild
正常にビルドするにはどのように実行すればよいですか?