无法加载 DLL 'Microsoft.WITDataSTore32.dll'
Unable to load DLL 'Microsoft.WITDataSTore32.dll'
我看到有些人和我有同样的问题,但我还没有找到解决问题的方法。
这适用于我的开发机器,但不适用于生产环境:
WorkItemStore workItemStore = teamProjectCollection.GetService<WorkItemStore>();
这是我的错误信息:
Unable to load DLL 'Microsoft.WITDataStore32.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
我已经将文件复制到我的 bin 文件夹中,但它仍然没有 work.Could 这与 IIS 进程用户没有访问该文件的权限有关吗?从哪里开始?
有人遇到过同样的情况吗?
此致。
如果问题与 IIS-process-user 无法访问文件有关,则缩小范围。
您可以检查dll 的权限。确保 Network Service 和 app pool identity 都具有 read/write/execute 权限。添加 IIS_IUSRS、IIS-process-user 和 r/w/x。
也请尝试运行 cmd tasklist /m dll_name.dll
检查另一个进程是否锁定了文件并且没有 share-read 访问权限。
另一个方向是仔细检查添加对 Microsoft.WITDataStore
的引用是否成功。如果您使用 Nuget 包安装 dll,请确保使用 official NuGet packages。一些类似的问题供您参考:
- TFS 2015 SDK Missing Microsoft.WITDataStore64.dll
您应该使用 Nuget 包进行 TFS 集成。如果您添加 TFS 扩展客户端,它将以必要的方式设置文件。
https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient
它会向您的项目添加两个您需要的附加文件。
我看到有些人和我有同样的问题,但我还没有找到解决问题的方法。
这适用于我的开发机器,但不适用于生产环境:
WorkItemStore workItemStore = teamProjectCollection.GetService<WorkItemStore>();
这是我的错误信息:
Unable to load DLL 'Microsoft.WITDataStore32.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
我已经将文件复制到我的 bin 文件夹中,但它仍然没有 work.Could 这与 IIS 进程用户没有访问该文件的权限有关吗?从哪里开始?
有人遇到过同样的情况吗?
此致。
如果问题与 IIS-process-user 无法访问文件有关,则缩小范围。
您可以检查dll 的权限。确保 Network Service 和 app pool identity 都具有 read/write/execute 权限。添加 IIS_IUSRS、IIS-process-user 和 r/w/x。
也请尝试运行 cmd tasklist /m dll_name.dll
检查另一个进程是否锁定了文件并且没有 share-read 访问权限。
另一个方向是仔细检查添加对 Microsoft.WITDataStore
的引用是否成功。如果您使用 Nuget 包安装 dll,请确保使用 official NuGet packages。一些类似的问题供您参考:
- TFS 2015 SDK Missing Microsoft.WITDataStore64.dll
您应该使用 Nuget 包进行 TFS 集成。如果您添加 TFS 扩展客户端,它将以必要的方式设置文件。
https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient
它会向您的项目添加两个您需要的附加文件。