我发布这篇文章是希望能为其他人节省时间和精力来解决这个问题:
我目前的设置是 VS2015 ,针对 TFS 2013.4
问题
我的旧PC设置有VS2013,我一直在使用Microsoft.TeamFoundation.WorkItemTracking.Client
命名空间从TFS获取一些工作项信息。
我最近不得不重建我的电脑,并继续开发一个获取此信息的程序。
令我沮丧的是,我一直收到错误:
Unable to load DLL 'Microsoft.WITDataStore32.dll'
答案 0 :(得分:12)
您不再需要安装TFS对象模型/团队资源管理器。您可以使用NuGet package
使用NuGet包时,您可能会遇到应用程序无法找到本机DLL的相同问题。
Microsoft.WITDataStore * .dll是ExtendedClient包的一部分,它们是本机dll,无法在托管项目中引用。 您需要手动将dll复制到bin文件夹中以进行运行时解析。
Microsoft.WITDataStore32.dll位于.. \ Microsoft.TeamFoundationServer.ExtendedClient.14.83.1 \ lib \ native \ x86 Microsoft.WITDataStore64.dll位于.. \ Microsoft.TeamFoundationServer.ExtendedClient.14.83.1 \ lib \ native \ amd64
(注意这些路径指向NuGet包文件夹)
答案 1 :(得分:2)
最后,以下stackoverflow线程给了我答案:
where is the tfs 2010 api dll microsoft teamfoundation framework server dll
what do i need to install to get microsoft teamfoundation workitemtracking client
VS2015 dll与TFS 2013不兼容,因此 不 去寻找dll中的dll&#39> Microsoft Visual Studio 14.0\ Common7 \ IDE
!
如果您使用TFS 2013
,则必须安装Team Explorer 2013它很小(只有130 MB),它包含正确的DLL。
安装完成后,您需要Browse...
来获取参考资料:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies
答案 2 :(得分:0)
如果您在处理TFS / VSTS时遇到Microsoft.WITDataStore32.dll问题,即。在Visual Studio 2015中获取项目名称或获取测试用例ID然后您可以简单地将Team Foundation dll从14.0.0.0重定向到版本12.0.0.0,因为14版本dll在检索此类数据时会产生问题,我们会使用它来获取此类错误。
我遇到问题“无法加载DLL'Microsoft.WITDataStore32.dll':找不到指定的模块。(从HRESULT:0x8007007E除外)”从“TFS 2012”迁移后运行我的Coded UI测试脚本VS2013分别为“VSTS和VS2015”。
当我在App配置中将引用的14个版本dll重定向到12个版本时问题得到解决,如下所示:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.TeamFoundation.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="14.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.TeamFoundation.TestManagement.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="14.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.TeamFoundation.WorkItemTracking.Client" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="14.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
此致 蒲拉西
答案 3 :(得分:0)
我的情况是我需要直接在测试项目中添加NuGet引用(我的自定义属性位于另一个项目中,并且dll没有复制到测试项目中)。
答案 4 :(得分:0)
我正在发布此信息 w.r.t. Visual Studio 2017 以防万一:
<块引用>请检查您是否有“Microsoft.WITDataStore32.dll” 路径如下:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team 探索者
如果没有,请尝试安装team explorer for vs 2017,下载 来自这个博客:
https://blogs.msdn.microsoft.com/bharry/2017/04/05/team-explorer-for-tfs-2017/
然后在团队资源管理器文件夹中找到 Microsoft.WITDataStore32.dll 并 复制到上面的路径。
来源:MSDN