无法加载DLL' Microsoft.WITDataStore32.dll' (TeamFoundation.WorkItemTracking)

时间:2015-06-24 16:18:02

标签: tfs2013 tfs-workitem vs-2015-preview

我发布这篇文章是希望能为其他人节省时间和精力来解决这个问题:

我目前的设置是 VS2015 ,针对 TFS 2013.4

问题

我的旧PC设置有VS2013,我一直在使用Microsoft.TeamFoundation.WorkItemTracking.Client命名空间从TFS获取一些工作项信息。

我最近不得不重建我的电脑,并继续开发一个获取此信息的程序。

令我沮丧的是,我一直收到错误:

Unable to load DLL 'Microsoft.WITDataStore32.dll'

5 个答案:

答案 0 :(得分:12)

您不再需要安装TFS对象模型/团队资源管理器。您可以使用NuGet package

使用NuGet包时,您可能会遇到应用程序无法找到本机DLL的相同问题。

以下文字是从中复制的 https://connect.microsoft.com/VisualStudio/feedback/details/1695433/team-foundation-server-2015-sdk-missing-microsoft-witdatastore64-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