読者です 読者をやめる 読者になる 読者になる

yamamoWorks

.NET技術を中心に気まぐれに更新していきます

VS2010のビルドエラー「'Microsoft.Build.Utilities.FileTracker' のタイプ初期化子が例外をスローしました。」の解決方法

.NET Tips

この問題に遭遇する方は少ないかもしれませんが...

Visual Studio 2010でWindowsフォームアプリケーションやWPFアプリケーションをビルドした時に以下の例外が発生して進めない場合


エラー 1 "GenerateResource" タスクが予期せずに失敗しました。
System.TypeInitializationException: 'Microsoft.Build.Utilities.FileTracker' のタイプ初期化子が例外をスローしました。 ---> System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 Microsoft.Build.Utilities.FileTracker..cctor()
--- 内部例外スタック トレースの終わり ---
場所 Microsoft.Build.Utilities.FileTracker.EnsureFileTrackerOnPath(String rootPath)
場所 Microsoft.Build.Tasks.GenerateResource.Execute()
場所 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
場所 Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) WpfApplication1

テンポラリフォルダの環境変数 %TEMP% %TMP% を確認すると幸せになれるかもしれません。Smile

テンポラリフォルダにルートドライブを指定しているとこの例外が発生します。

自分はメモリを多く積んでRAMディスクのTドライブを作成し、テンポラリフォルダを「T:\」に指定していたのですが、テンポラリフォルダを「T:\Temp」に変えたら例外が発生しなくなりました。Idea

ちなみにRAMディスクじゃなくても「D:\」などルートドライブを指定しているとダメなようです。