7

これで頭がおかしくなりそうです...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で診断レベルのログを有効にしましたが無駄になりました。私はこの時点で途方に暮れています、どんな助けでも大いに感謝されます。

4

2 に答える 2

2

これは暗闇の中のショットかもしれませんが、以前にこの問題が発生したことがあり、問題のあるプロジェクトをアンロードしてソリューションに再ロードするとうまくいくことがわかりました。なぜそれが起こるのかを特定したことはなく、他の人にも説明してもらえませんでしたが、これを行うと、さまざまな解決策で問題が2、3回解決されました.

于 2012-12-07T00:29:14.100 に答える
1

sln ファイルで問題の原因となった を削除ProjectSection(ProjectDependencies) = postProjectしました。Projectこれは役に立ちました。

于 2015-02-25T08:10:02.423 に答える