[解決済み] VS2015でMSBuildエラーMSB4018が発生しました。リンク」タスクが予期せず失敗する
質問
25 個のプロジェクトを含むソリューションを VS2012 Update 4 から VS2015 RTM (14.0.23107.0) にアップグレードした後、プロジェクトの 1 つを構築中に次のエラーが発生しました。
(...) MSB4018: '"Link" タスクが予期せず失敗しました。(...) System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていない' (...)
ここに完全な出力があります。
1>------ Build started: Project: Buttons, Configuration: Release Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: The "Link" task failed unexpectedly.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: System.NullReferenceException: Object reference not set to an instance of an object.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.CPPTasks.Link.ForcedRebuildRequired()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.CPPTasks.TrackedVCToolTask.ComputeOutOfDateSources()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.CPPTasks.TrackedVCToolTask.SkipTaskExecution()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.Utilities.ToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.CPPTasks.TrackedVCToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(643,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1.MoveNext()
========== Build: 0 succeeded, 1 failed, 24 up-to-date, 0 skipped ==========
MSB4018に関連するいくつかの解決策をすでに試しましたが、成功しませんでした。エラーは '"Link" タスクが予期せず失敗しました' は、まだGoogleにインデックスされてもいませんでした。この問題は、ソリューションの中で唯一リソースDLLとして使われている(つまりエントリーポイントなどがない)プロジェクトなので、プロジェクトの種類と何らかの関係があるのだと思います。VS2015によってプロジェクトファイルに加えられた変更は、"のみです。 ToolsVersion: 4.0 => 14.0 "と" PlatformToolset: v110_xp => v140_xp "。
どなたか解決策をお持ちの方はいらっしゃいますか?
どのように解決するのですか?
私自身、この問題を解決することができましたので、今後の参考のため、ここに解決策を記録したいと思います。
プロジェクトファイル内のXML要素が空であることが原因で、以下のエラーが発生しました。
- MSB4018: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。
空の要素に 'Link' タスクがアクセスし、ちょうど失敗しました。
- MSB4018: '"Link" タスクが予期せず失敗しました。
それぞれの要素を削除すると、問題が解決しました。
<Link><GenerateDebugInformation></GenerateDebugInformation></Link>
ヒント:他の投稿にもあるように、MSB4018エラーの多くは、予期せぬ値を含むプロジェクトファイルに関連しているようです。
関連
-
[解決済み] キーバインドを解除する方法
-
[解決済み] Visual Studioがrc.exeのためにビルドできない
-
[解決済み] 「mscorlib.pdb not loaded "と表示されるが、mscorlib.dllは見つからない。
-
[解決済み] VS2015でMSBuildエラーMSB4018が発生しました。リンク」タスクが予期せず失敗する
-
[解決済み] Visual Studio 2012 Expressが突然「このバージョンのWindowsと互換性がありません」?
-
[解決済み] Visual 2012 組み込みスニペットの一覧
-
[解決済み] Visual Studioでメニューのタイトルを全角で表示しないようにする方法
-
[解決済み] VS2012 でファイルプレビューを無効にする
-
[解決済み] Visual Studio 2012で "Scope to this "を元に戻すにはどうしたらいいですか?
-
[解決済み】TF30063エラー。あなたはアクセスする権限がありません。\DefaultCollection
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Visual Studioがrc.exeのためにビルドできない
-
[解決済み] 「mscorlib.pdb not loaded "と表示されるが、mscorlib.dllは見つからない。
-
[解決済み] VS2015でMSBuildエラーMSB4018が発生しました。リンク」タスクが予期せず失敗する
-
[解決済み] Visual 2012 組み込みスニペットの一覧
-
[解決済み] Visual Studioでメニューのタイトルを全角で表示しないようにする方法
-
[解決済み] VS2012 でファイルプレビューを無効にする
-
[解決済み] Visual Studio 2012で "Scope to this "を元に戻すにはどうしたらいいですか?
-
[解決済み】TF30063エラー。あなたはアクセスする権限がありません。\DefaultCollection
-
[解決済み] VS2012 用のテーマはどこにありますか?
-
[解決済み] Nuget リファレンスを復元しますか?