【问题标题】:Unable to load DLL 'Microsoft.WITDataStore32.dll' (TeamFoundation.WorkItemTracking)无法加载 DLL 'Microsoft.WITDataStore32.dll' (TeamFoundation.WorkItemTracking)
【发布时间】:2015-09-10 23:11:15
【问题描述】:

我发布这个是希望它可以节省其他人解决这个问题的时间和精力:

我当前的设置是 VS2015 针对 TFS 2013.4

问题

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

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

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

Unable to load DLL 'Microsoft.WITDataStore32.dll'

【问题讨论】:

标签: tfs-workitem visual-studio-2015


【解决方案1】:

您不再需要安装 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 包文件夹)

【讨论】:

  • 谢谢!我尚未测试您的解决方案,但由于使用 NuGet 的便利性而不是我的建议,我会接受它作为答案。
【解决方案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 不兼容,所以不要Microsoft Visual Studio 14.0\ Common7 \ IDE寻找dll!

如果您使用 TFS 2013,则必须安装 Team Explorer 2013

它很小(只有 130 MB),并且包含正确的 DLL。

安装后需要Browse...这里参考:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies

【讨论】:

    【解决方案3】:

    如果您在处理 TFS/VSTS 时遇到 Microsoft.WITDataStore32.dll 问题,即。在 Visual Studio 2015 中获取项目名称或获取测试用例 ID,然后您可以简单地将 Team Foundation dll 从 14.0.0.0 重定向到版本 12.0.0.0,因为 14 版本的 dll 在检索此类数据时会产生问题,我们会使用它来获取此类错误。

    在从“TFS 2012 和分别是 VS2013" 到 "VSTS 和 VS2015"。

    当我在 App config 中将引用的 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>
    

    问候, 普拉西德

    【讨论】:

      【解决方案4】:

      我的情况是我需要在测试项目中直接添加NuGet引用(我的自定义属性位于另一个项目中,并且没有将dll复制到测试项目中)。

      【讨论】:

        【解决方案5】:

        我正在发布此信息 w.r.t。 Visual Studio 2017 以防万一:

        请检查您是否有 'Microsoft.WITDataStore32.dll' 在 下面的路径:

        C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team 探索者

        如果没有,请尝试为vs 2017安装团队资源管理器,下载它 来自这个博客:

        https://blogs.msdn.microsoft.com/bharry/2017/04/05/team-explorer-for-tfs-2017/

        然后在团队资源管理器文件夹中找到 Microsoft.WITDataStore32.dll 并 复制到上面的路径。

        来源:MSDN

        【讨论】:

          猜你喜欢
          • 2017-06-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多