我可以看到一些问题与我有同样的问题,但我没有找到解决问题的解决方案。
这适用于我的开发机器,但不适用于生产:
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无法访问该文件的任何内容吗?从哪里开始?
任何人都有同样的经历吗?
问候。
答案 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
它为您的项目添加了两个额外的文件。