【问题标题】:Unable to load DLL 'Microsoft.WITDataSTore32.dll'无法加载 DLL 'Microsoft.WITDataSTore32.dll'
【发布时间】:2017-06-26 06:49:52
【问题描述】:

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

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

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

这是我的错误信息:

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

我已将文件复制到我的 bin 文件夹中,但它仍然无法正常工作。这可能是因为 IIS 进程用户无法访问该文件吗?从哪里开始?

有人有同样的经历吗?

问候。

【问题讨论】:

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


【解决方案1】:

如果与 IIS 进程用户无权访问文件相关的问题,则缩小范围。

您可以检查 dll 的权限。确保 Network Service 和 app pool identity 都具有 read/write/execute 权限。添加 IIS_IUSRS,带有 r/w/x 的 IIS 进程用户。

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

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

【讨论】:

  • 应用程序池标识已失去对 bin 文件夹的权利。为身份设置正确的访问权限解决了我的问题。谢谢!
【解决方案2】:

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

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

它会为您的项目添加两个您需要的额外文件。

【讨论】:

    猜你喜欢
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多