1.vs2010,DllNotFoundException
用VS2012新建的类库,用VS2010打开,编译的时候报错:
错误 5 “GenerateResource”任务意外失败。
System.DllNotFoundException: 无法加载 DLL“FileTracker.dll”: 动态链接库(DLL)初始化例程失败。 (异常来自 HRESULT:0x8007045A)。
在 Microsoft.Build.Shared.NativeMethodsShared.InprocTracking.StartTrackingContextWithRoot(String intermediateDirectory, String taskName, String rootMarker)
在 Microsoft.Build.Utilities.FileTracker.StartTrackingContextWithRoot(String intermediateDirectory, String taskName, String rootMarkerResponseFile)
在 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) DBUtility
具体原因不清楚,这个应该是.net的bug。
找到以下几种解决方案,大家可以尝试一下:
解决方案A:删除C:WindowsMicrosoft.NETFrameworkv4.0.21006Temporary ASP.NET Files目录下得所有文件,重新编译!
来源:http://social.msdn.microsoft.com/Forums/en-US/88db71cf-a501-428d-91fa-1535d82d8014/build-error-unable-to-load-dll-filetrackerdll
我用这个方法解决了这个异常,推荐!
解决方案B:打开csproj文件,新建一个属性组如下:
<PropertyGroup>
<TrackFileAccess>false</TrackFileAccess>
</PropertyGroup>
没有测试,可以试试
来源:http://blogs.msdn.com/b/dsvc/archive/2010/05/28/the-quot-generateresource-quot-task-failed-unexpectedly-unable-to-load-filetracker-dll.aspx
解决方案C:打开csproj文件,在第一个PropertyGroup中添加如下配置:
<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>
解决方案D:打开文件: C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Microsoft.Common.Targets
找到
<GenerateResource
…
TrackFileAccess="$(TrackFileAccess)"
TrackerLogDirectory="$(TrackerLogDirectory)"
…
</GenerateResource>
删除
TrackFileAccess="$(TrackFileAccess)"
TrackerLogDirectory="$(TrackerLogDirectory