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