1
我正在创建一个用于安装本机可视化文件(natvis)的扩展,但每个新版本的VS都包含natvis格式的新功能。如何为不同的Visual Studio版本安装不同的文件
我想创建一个适用于所有VS版本的扩展如果可以根据VS的版本安装不同的natvis文件。
我正在创建一个用于安装本机可视化文件(natvis)的扩展,但每个新版本的VS都包含natvis格式的新功能。如何为不同的Visual Studio版本安装不同的文件
我想创建一个适用于所有VS版本的扩展如果可以根据VS的版本安装不同的natvis文件。
这是一种方法。为VS2012创建两个natvis文件,另一个为VS2013和VS2015创建。
如果您想实施visualization service,请执行以下操作,否则请跳至部署。
您需要定义两个具有不同GUID和实现的接口。使用natvis文件中的UIVisualizer XML元素来分配与natvis文件对应的接口的GUID。现在,在VSPackage的的初始化方法,包括这段代码:
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容器。
谢谢,但Visual Studio Gallery不允许为一个扩展上传几个VSIX文件。因此,我将不得不为每个版本的VS发布一个单独的扩展。 – KindDragon
@KindDragon问题是如何将natvis文件部署到相应版本的VS.一种方法是创建不同的VSIX容器。另一种方法是将该natvis文件作为资源嵌入到MSI安装程序中,并在安装扩展程序时将它们复制到相应的文件夹(%USERPROFILE%\ My Documents \ Visual Studio [2012 | 2013 | 2015] \ Visualizers \)。另一种方法是在扩展程序在Visual Studio中第一次加载时创建natvis文件。当调试会话开始时,VS会自动选择正确的natvis。 –
谢谢。我会尝试使用msi安装程序 – KindDragon