最近、Windows8.1アプリをWindows10にリターゲットしました。UIプロジェクトのビルド中にこのエラーが発生します。
"MSBUILD : error MSB4166: Child node "2" exited prematurely. Shutting down. Diagnostic information may be found in files in the temporary files directory named MSBuild_*.failure.txt."
これは特に有用ではないので、%temp%にアクセスして、上記の失敗ログを探しましたが、存在しません。間違った「一時」ディレクトリを探していますか?
このエラーの原因は何ですか?このエラーなしで、サポートするライブラリプロジェクトをビルドできます。
それで、私はこれを手動で処理しました。最終的に、新しいプロジェクトを作成し、ソースファイルを1つずつ移動しました。何かを移動した後、プロジェクトをチェックして、まだビルドされていることを確認します。
この行は、それを爆破した私のApp.xamlに存在していたことがわかりました。
<ResourceDictionary Source="Assets/Resources/LayoutTemplates.xaml" p8:Name="LayoutTemplates" xmlns:p8="http://schemas.Microsoft.com/winfx/2006/xaml" />
名前空間と「名前」属性を削除すると、問題が修正されました。
かなりあいまいですね...
Windowsを再起動すると解決しました。このような奇妙なエラーを常に試す価値があります。
MSBuildに必要なdllが壊れていると想定したため、.netフレームワークを修復しました(コントロールパネル->プログラムと機能..->修復)。現在は機能していますが、これがランダムに発生するのか、それともすべて問題ないのかはわかりません。
私の場合、Windows Server 2012R2でビルド環境をセットアップした後にエラーが発生しました。
同じワークスペースで複数のMSBuildインスタンスを並行して実行していました。 MSBuildインスタンスを順番に、または異なるワークスペースで実行すると、問題は解決しました。
他の答えを考えると、私の考えは、「何かがひどく間違っていて、激しくクラッシュした」というエラーメッセージです。私に言わせれば、MSBuildの堅牢性のバグ。
私の場合はSlowCheetahで、すべての「コンテンツ」アイテムにデフォルトの変換を設定しました。
<Content>
<TransformOnBuild>true</TransformOnBuild>
<Link></Link>
<CopyToOutputDirectory></CopyToOutputDirectory>
</Content>
これにより、ビルドはますます多くのメモリ(1.7GBなど)を使用し、最終的に「子ノード」メッセージをスローしました。 Windowsを再起動した後、すべてのビルドでエラーが発生するのではなく、VS2019が単に閉じられました。コンテンツ変換をfalseに設定すると、問題が解決しました。
2016年11月11日からC++プロジェクトでこれらのエラーが発生し始めました。windows-updatesを確認すると、午前中にWindows10用の次のMicrosoftUpdateがインストールされました。
Update for Windows 10 Version 1511 for x64-based Systems (KB3150513)
https://support.Microsoft.com/en-us/kb/3150513
Windows Malicious Software Removal Tool for Windows 8, 8.1, 10 and Windows Server 2012, 2012 R2, 2016 x64 Edition - November 2016 (KB890830)
https://support.Microsoft.com/en-us/kb/890830
Cumulative Update for Windows 10 Version 1511 for x64-based Systems (KB3198586)
https://support.Microsoft.com/en-us/kb/3198586
Security Update for Adobe Flash Player for Windows 10 Version 1511 (for x64-based Systems) (KB3202790)
https://support.Microsoft.com/en-us/kb/3202790
Security Update for Adobe Flash Player for Windows 10 Version 1511 (for x64-based Systems) (KB3201860)
https://support.Microsoft.com/en-us/kb/3201860
マルチプロセッサコンパイル/ MP(プロジェクト設定、C/C++、一般)を無効にすると、問題が回避されるようです。
記録のために:incredibuild7.22を使用したときに発生しました。 incredibuildなしでも発生するかどうかはテストしませんでした。