System.DllNotFoundException: 无法加载 DLL“FileTracker.dll”: 动态链接库(DLL)初始化例

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

原文地址:https://www.cnblogs.com/janealer/p/6631942.html