如何从VSIX获取SSMS的版本

问题描述:

我正在使用VSIX开发SSMS的扩展版。 在这个扩展中,我需要知道我正在运行哪个版本的SSMS。 得到那个的最好方法是什么?如何从VSIX获取SSMS的版本

我不喜欢这样,我SSMS的扩展名(SSMS 16及更高版本)

 var dte = GetServiceHelper(typeof(EnvDTE.DTE)) as EnvDTE.DTE; 
     if (dte == null) return new Version(130, 0, 0, 0); 
     if (dte.RegistryRoot.Contains("14.0")) 
     { 
      return new Version(140, 0, 0, 0); 
     } 
     return new Version(130, 0, 0, 0); 

https://github.com/ErikEJ/SqlCeToolbox/blob/master/src/GUI/SSMSToolbox/Package/SqlCeToolboxPackage.cs#L67

dte.Version回报2015.0130的SSMS 2016 2017.0140的SSMS 17.