これで頭がおかしくなりそうです...MSBuildを介して実行した場合のソリューションビルドは、ソリューション内の多くのプロジェクトの1つをサイレントにビルドできません。
ビルドは失敗せず、ビルドをまったく試みません(ログファイルMSBuildおよびdevenv出力で確認されます)。これはVS2010ソリューションファイルです。問題のあるプロジェクトをプロジェクトXと呼びましょう。私が知っていること:
- 30個までのプロジェクトを含むソリューションがあります。
- これらのプロジェクトはすべて、Release|Win32でビルドするように設定されています。私はこれを2倍と3倍(そして4倍)チェックしました。
- VSでソリューションをビルドすると、ProjectXを含むすべてのプロジェクトが正しくビルドされます。
- MSBuildがdevenvの起動に使用しているのとまったく同じコマンドを使用すると、ProjectXがビルドされます。
- プロジェクトファイルを渡してMSBuildを起動すると、プロジェクトXはビルドされず、スキップされたとは表示されず、まったく存在しません(ログと出力ディレクトリに)。
私は何度も何度もプロジェクトファイルに注いできました。それが実際に行うのは、次のようにdevenvを起動することだけです。
"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Devenv.com" "MySolution.sln" / build "Release | Win32"
繰り返しますが、プロンプトでまったく同じコマンドを使用すると、ProjectXがビルドされます。MSBuildで診断レベルのログを有効にしましたが無駄になりました。私はこの時点で途方に暮れています、どんな助けでも大いに感謝されます。