【问题标题】:Visual studio 2015 extension finding tfs urlVisual Studio 2015 扩展查找 tfs url
【发布时间】:2017-10-11 15:28:53
【问题描述】:

我正在尝试获取 VS 2015 扩展来连接当前正在使用的 tfs。我找到了解决办法

TeamFoundationServerExt tfExt = DTE.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt") as TeamFoundationServerExt;
return tfExt.ActiveProjectContext.DomainUri;

不幸的是,我认为TeamFoundationServerExt 不适合在 Visual Studio 2015 中使用`有人可以确认这一点并告诉我应该如何完成

【问题讨论】:

    标签: visual-studio-2015 tfs visual-studio-extensions


    【解决方案1】:

    根据你的描述,我用visual studio 2015创建一个demo并测试代码,变量tfExt返回null,如果在VS IDE中打开解决方案,Team Explorer会自动连接绑定的TFS服务器到解决方案。因此我们可以使用 DTE 对象来获取 SourceControlExt 对象,然后从其属性中检索 TFS 服务器信息。

    VersionControlExt vce;
    VersionControlExplorerExt vcee;
    
    DTE2 dte = this.ServiceProvider.GetService(typeof(SDTE)) as DTE2;
    dte.ExecuteCommand("View.TfsSourceControlExplorer");
    vce = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;
    vcee = vce.Explorer;
    var tfsServerName = vcee.Workspace.VersionControlServer.TeamFoundationServer.Uri;
    

    请添加以下参考。

    using Microsoft.VisualStudio.TeamFoundation.VersionControl;
    

    【讨论】:

    • 感谢您的回复。 VersionControlExt 类(如我正在使用的 TeamFoundationServerExt 类)的最新文档适用于 Visual Studio 2013。看起来 Microsoft.VisualStudio.TeamFoundation.dll 没有替代品
    • 是的,这个dll(Microsoft.VisualStudio.TeamFoundation.VersionControl.dll)也可以在vs 2016的安装文件夹中找到,比如C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7 \IDE\Extensions\hdalyazr.nyu
    • 路径的最后一部分对我来说是不同的(我怀疑它依赖于机器),但它让我找到了正确的区域。我找到了一个包含 dll 的 NuGet 包 Microsoft.TeamFoundation.ObjectModel。它确实存在依赖于 .net 4.5 的“问题”。这意味着我必须使用我需要的其他一些软件包的早期版本。
    • 为什么不在 Visual Studio 2015 中使用 dll。
    猜你喜欢
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    相关资源
    最近更新 更多