无法加载DLL'Microsoft.WITDataSTore32.dll'

时间:2017-02-08 15:08:01

标签: c# asp.net tfs iis-7

我可以看到一些问题与我有同样的问题,但我没有找到解决问题的解决方案。

这适用于我的开发机器,但不适用于生产:

WorkItemStore workItemStore = teamProjectCollection.GetService<WorkItemStore>();

这是我的错误消息:

Unable to load DLL 'Microsoft.WITDataStore32.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

我已将文件复制到我的bin文件夹中,但它仍无法正常工作。这可能是IIS-process-user无法访问该文件的任何内容吗?从哪里开始?

任何人都有同样的经历吗?

问候。

2 个答案:

答案 0 :(得分:1)

如果与IIS-process-user无关的问题无法访问该文件,请缩小范围。

您可以检查dll上的权限。确保网络服务应用程序池标识都具有读/写/执行权限。使用r / w / x添加IIS_IUSRS,IIS-process-users。

还请尝试运行cmd tasklist /m dll_name.dll以检查另一个进程是否已锁定文件且没有共享读取权限。

另一个方向是仔细检查是否成功添加对Microsoft.WITDataStore的引用。如果您使用Nuget Package安装dll,请确保使用official NuGet packages。有关此问题的类似问题供您参考:

答案 1 :(得分:1)

您应该使用Nuget包进行TFS集成。如果添加TFS扩展客户端,它将以必要的方式设置文件。

https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient

它为您的项目添加了两个额外的文件。