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

How to install different files for different Visual Studio versions

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

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

这是一种方法。创建两个 natvis 文件,一个用于 VS2012,另一个用于 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 文件,请将 Asset 元素添加到 VSIX 清单:

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

这样一来,您将拥有一个扩展程序和两个 VSIX 容器。