【问题标题】:Visual Studio 2010 to Visual Studio 2015 WorkItemStoreVisual Studio 2010 到 Visual Studio 2015 WorkItemStore
【发布时间】:2020-01-21 20:21:44
【问题描述】:

我继承了一个程序,该程序使用从 TFS 提取的信息为项目编写软件文档。它是使用 Visual Studio 2010 编写的。我试图让程序在不需要安装 Visual Studio 2010 的情况下运行。当尝试在安装了 VS 2015 或更高版本的情况下运行程序时,我首先收到此错误:

BadImageFormatException:无法加载文件或程序集 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore, 版本=10.2.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 或 它的依赖项之一。试图加载一个带有 格式不正确。

源于此方法:

public WorkItemStore GetworkItemStore()
{
   WorkItemStore _tfs = new WorkItemStore(m_TeamProjectCollection);
   return _tfs;
}

当它第一次尝试连接到 TFS 时会出现此错误。安装 VS 2010 可以让程序正常运行而不会出现任何问题,但是,将 VS 2010 安装在将用于运行该程序的每台机器上并不是一种选择。

我的问题是 VS 2010 安装的哪些内容在更高版本的 VS 中不可用或已更改以允许该程序与 TFS 连接?

【问题讨论】:

    标签: c# visual-studio tfs tfs-sdk


    【解决方案1】:

    WorkItemStore 使用Microsoft.TeamFoundation.WorkItemTracking.Client,获取它的简单方法是安装Microsoft.TeamFoundationServer.ExtendedClient

    它将安装许多您可能不需要的 DLL,因此您可以将其安装在新项目中,然后将 WorkItemTracking.Client 添加到您的项目中(将其添加为参考)。

    如果你需要特定版本的DLL,你可以去有VS 2012并且程序可以运行的PC,从项目文件夹中取出DLL并复制到其他计算机上。

    当您将 DLL 引用到项目时,您可以在任何 VS 版本中运行该程序。

    【讨论】:

    • 让项目在 VS 2012 中运行被证明是最佳途径,因为它只是我最终要寻找的特定 dll。下载 ExtendedClient 包并将 dll 迁移到项目中被证明是实际不需要的东西的滚雪球效应。
    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多