如何为不同的Visual Studio版本安装不同的文件

时间:2015-07-09 23:01:34

标签: visual-studio visual-studio-extensions vsix

我正在创建一个安装原生可视化(natvis)的扩展程序,但每个新版本的VS都包含natvis格式的新功能。

我想创建一个适用于所有VS版本的扩展名如果可以根据VS的版本安装不同的natvis文件。

1 个答案:

答案 0 :(得分:1)

这是一种方法。为VS2012创建两个natvis文件,为VS2013和VS2015创建另一个。

如果要实施visualization service,请执行以下操作,否则跳至部署。

您需要定义具有不同GUID和实现的两个接口。使用natvis文件中的UIVisualizer XML元素来分配与natvis文件对应的接口的GUID。现在,在VSPackage的Initialize方法中,包含以下代码:

appObject = (DTE2)GetService(typeof(DTE));
if(appObject.Version == "11.0")
{
    // Register the VS2012 visualization service using ((IServiceContainer)this).AddService().
}
else
{
    // Register the VS2013/VS2015 visualization service.
}

要部署程序包,请创建两个相同的VSIX容器,除了第一个包含一个natvis文件而另一个包含另一个natvis文件。要包含natvis文件,请在VSIX清单中添加Asset元素:

<PackageManifest ...>
  . 
  . 
  . 
  <Assets> 
    <Asset Type="NativeVisualizer" Path="natvis.xml"/>  
  </Assets> 
</PackageManifest>

通过这种方式,您将拥有一个扩展名,但只有两个VSIX容器。