朋友给了一个Winform程序,用vs2010编译出现如下错误:
错误 1 “GenerateResource”任务意外失败。
System.TypeInitializationException: “Microsoft.Build.Utilities.FileTracker”的类型初始值设定项引发异常。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Microsoft.Build.Utilities.FileTracker..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 Microsoft.Build.Utilities.FileTracker.FileIsExcludedFromDependencies(String fileName)
在 Microsoft.Build.Utilities.CanonicalTrackedOutputFiles.ConstructOutputTable()
在 Microsoft.Build.Utilities.CanonicalTrackedOutputFiles.InternalConstruct(ITask ownerTask, ITaskItem[] tlogFiles, Boolean constructOutputsFromTLogs)
在 Microsoft.Build.Utilities.CanonicalTrackedOutputFiles..ctor(ITaskItem[] tlogFiles)
在 Microsoft.Build.Tasks.GenerateResource.CompactTrackingLogs(Boolean taskSucceeded)
在 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)
该错误是因为安装了RamDisk后把环境变量中的用户变量(Temp和Tmp)直接指向了RamDisk生成的磁盘(例如:R:\)。
解决办法是把这两个环境变量改为指向文件夹(例如:R:\Temp)即可