如何从 VSIX 获取 SSMS 的版本
How can I get the version of SSMS from VSIX
我正在使用 VSIX 开发 SSMS 扩展。
在此扩展中,我需要知道我 运行 使用的是哪个版本的 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);
dte.Version returns 2015.0130 对于 SSMS 2016 和 2017.0140 SSMS 17.
我正在使用 VSIX 开发 SSMS 扩展。 在此扩展中,我需要知道我 运行 使用的是哪个版本的 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);
dte.Version returns 2015.0130 对于 SSMS 2016 和 2017.0140 SSMS 17.