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

3

我看到有些人和我遇到了同样的问题,但是我没有找到一种解决方法可以解决我的问题。

这在我的开发机上可行,但在生产环境中却不行:

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

这是我的错误信息:

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

我已将文件复制到我的bin文件夹中,但它仍然不起作用。这可能与IIS进程用户无权访问该文件有关吗?从哪里开始解决?

有人有过同样的经历吗?

谢谢。


2个回答

2

1

为了缩小问题范围,确定是否与IIS进程用户无法访问文件有关。

您可以检查dll的权限。确保Network Service应用程序池标识都具有读/写/执行权限。添加IIS_IUSRS、IIS-process-users,并赋予r/w/x权限。

请尝试运行cmdtasklist /m dll_name.dll,以检查是否有其他进程锁定该文件且没有共享读取权限。

另一方面,请再次确认是否成功添加了对Microsoft.WITDataStore的引用。如果您使用Nuget Package安装dll,请确保使用官方NuGet包。以下是一些类似问题供您参考:


1
应用程序池身份丧失了对bin文件夹的权限。为身份设置正确的访问权限解决了我的问题。谢谢! - TheViking

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接