2014-03-24 135 views
1

我創建了一個與vs2010和vs2012兼容的visual studio extension(VSIX)。它將Nuget Package Manager作爲依賴項。現在我想讓它與vs2013兼容。我將vs2013添加到了支持的產品中。但是,這種關係總會失敗。顯然,Nuget團隊已經爲VS2013更改了Identix for vsix擴展。我無法將標識符更改爲新標識符,因爲它會影響vs2010/12。基於visual studio版本的VSIX依賴關係版本

<References> 
    <Reference Id="NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5"> 
     <Name>NuGet Package Manager</Name> 
     <MoreInfoUrl>http://docs.nuget.org/</MoreInfoUrl> 
    </Reference> 
    </References> 

有沒有一種方法可以將基於visual studio版本的depx添加到vsix中。這樣我就可以爲vs2013添加一個更多的nuget引用。或者有沒有解決這個問題的方法?

爲vs2013的NuGet擴展新的標識符是NuGet.67e54e40-0ae3-42c5-a949-fddf5739e6a5

+0

您是否考慮創建兩個獨立的包? – jariq

回答

0

你可以做以下任一操作:

  1. 取出參考的NuGet延期。如果您的用戶沒有安裝NuGet,或者他們的NuGet版本過時,您的擴展名不支持,這將導致包載入錯誤或其他錯誤的風險。

  2. 船舶擴展的獨立VSIX包的Visual Studio 2010 - 2012年和Visual Studio 2013年

後者可能是最好的辦法。您可以按照Cloud Explorer擴展中使用的方法從相同的代碼庫創建兩個擴展(請注意,由於此擴展不支持Visual Studio 2010,但會有細微差別,但您的確會這樣做)。

  1. 在與2010-2012版目標相同的文件夾中爲VS2013擴展創建單獨的項目文件。我強烈建議您使用可視化差異工具比較Rackspace.VisualStudio.CloudExplorer.11.csprojRackspace.VisualStudio.CloudExplorer.12.csproj展現細微的差別,使這些生活並排側。

  2. 創建子文件夾屬性\ VS2010屬性\ vs2013握住你的source.extension.vsixmanifest兩個文件的不同版本。爲每個文件使用正確的NuGet參考。

如果您的項目是GitHub上的開源項目,我可以幫助應用更改併發送拉取請求。

+0

謝謝我想我會爲vs2013創建一個單獨的項目文件 – Andy

相關問題