2015 年 Visual Studio 中的 Microsoft.VisualStudio.TeamFoundation.VersionControl.dll 在哪里

Where is Microsoft.VisualStudio.TeamFoundation.VersionControl.dll in Visual Studio 2015

我正在将我自己的 TFS 日志记录扩展迁移到 VS 2015 和 运行 到许多依赖项问题。我可以通过安装 Microsoft.TeamFoundationServer.ExtendedClient nuget 包来摆脱其中的大部分。

但是仍然缺少一个引用,VersionControlExtclass

versionControlExt =
                    _applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt")
                    as VersionControlExt;

根据文档,它位于 Microsoft.VisualStudio.TeamFoundation.VersionControl.dll,但我根本找不到这个文件。有谁知道从哪里得到它或如何更改上面的代码以使其与 VS 2015 一起工作?

我正在使用 Visual Studio 2015 Professional,14.0.23107.0 D14REL 版本。

好的,我终于找到问题了。

GAC (c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.TeamFoundation.VersionControl\) 中的那个是库的旧版本 (11.0.50727.1)。它通过 VS 2015 安装到达那里,但它不是正确的。

Visual Studio Team Explorer 扩展使用的那个位于 c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\oglzibax.qr0\。它的版本是 14.0.23102.0.

当我尝试使用旧版本时,我不断收到 MissingMethodException

对于 VS 2015,您可以通过导航到 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer 找到它的位置。如果你去那里然后上一个目录,你会看到 Team Explorer 是符号 link 到 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ftq4t4pd.guv (在我的情况下)。所以这就像不是将 DLL 与产品一起运送,而是将它们放在扩展中运送,每当扩展更新时,他们都会更新符号 link 以指向它。很奇怪。

对于 VS 2017,您可以通过导航到 C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer 找到它,将 "Professional" 替换为您安装的任何版本。它似乎没有 VS 2017 有象征性的 link 事情正在发生。