2015-11-03 9 views
6

私はソリューションを構築するために内部的にmsbuildを呼び出すpowershellスクリプトを使用しています。これは原則的に機能するので、ソリューションファイルは問題ありません。msbuildへの最初の呼び出しがハングアップ

私はビルドを繰り返すことができます、それは完璧に動作します。

しかし、ビルドが、私は(再起動後に)スクリプトを最初に起動したときに

  • をハング
  • 作業日の間にいくつかの時間後/アクション、私ので

を変更するものがないアイデアmsbuildは再起動時にロードされていないコンポーネントを使用している/作業中にアンロードされているという疑いがあります。

しかし、私は、問題を見つけるためにどのよう見当もつかない...

私はこのexeファイルを使用しています: C:\プログラムファイル(x86の)\ MSBuildの\ 14.0 \ binに\からMSBuild.exe

を何か案は?

答えて

8

この問題に取り組んでいる人のために:Roslynはデフォルトで「共有コンパイル」を行います。つまり、コンパイルの結果は速度を上げるためのコンパイルに使用されます。これを切り替えるには、VBPROJファイルのUseSharedCompilationに "False"を指定するか、MsBuildに同様のスイッチを使用します。これをオフにするとコンパイルが遅くなりますが、実行がハングしません。

+0

ここに最終的なヒントへのリンクがあります:http://stackoverflow.com/questions/31708758/numerous-instances-of-vbcscompiler-exe/31884658#31884658 – klawusel

+5

ありがとうございます - これは素晴らしいです! msbuildに対して直接使用するスイッチは '/ p:UseSharedCompilation = false'です –

関連する問題