Version control VS2015版本控制服务器

Version control VS2015版本控制服务器,version-control,visual-studio-2015,vspackage,Version Control,Visual Studio 2015,Vspackage,我不得不升级到Visual Studio 2015,目前我的VSPackage存在问题。我需要一个VersionContralServer对象,但每次调试时,DTE都是空的 DTE2 dte = (DTE2)Package.GetGlobalService(typeof(DTE2)); VersionControlExt versionControlExt = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionContro

我不得不升级到Visual Studio 2015,目前我的VSPackage存在问题。我需要一个VersionContralServer对象,但每次调试时,DTE都是空的

 DTE2 dte = (DTE2)Package.GetGlobalService(typeof(DTE2));
 VersionControlExt versionControlExt = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;
 VersionControlExplorerExt versionControlExplorerExt = versionControlExt.Explorer;
 VersionControlServer version = versionControlExplorerExt.Workspace.VersionControlServer;

非常感谢您的帮助。

您对Package.GetGlobalService()的调用中有一个小错误

DTE2 dte=(DTE2)Package.GetGlobalService(typeof(SDTE

在后台,GetGlobalService调用所做的一切都是调用IOleServiceProvider.QueryService方法,该函数需要接口guid和服务guid。typeof(DTE2),返回DTE2接口的接口guid


您可能看到一些示例不正确地使用typeof(DTE)返回服务guid。但这只能起作用,因为DTE服务guid id和DTE接口guid id恰好是同一个东西。但一般来说,您应该始终使用服务guid id。

对Package.GetGlobalService()的调用中有一个小错误

DTE2 dte=(DTE2)Package.GetGlobalService(typeof(SDTE

在后台,GetGlobalService调用所做的一切都是调用IOleServiceProvider.QueryService方法,该函数需要接口guid和服务guid。typeof(DTE2),返回DTE2接口的接口guid


您可能看到一些示例不正确地使用typeof(DTE)返回服务guid。但这只能起作用,因为DTE服务guid id和DTE接口guid id恰好是同一个东西。但一般来说,您应该始终使用服务guid id。

哪个文件是由MenuItemCallback()方法调用的自定义控制器中的代码段?@sprinter252。哪个文件是由MenuItemCallback()方法调用的自定义控制器中的代码段。