我有一個Visual Studio擴展(VSIX),可以在VS2015和VS2017中使用。該VSIX依靠Microsoft.VisualStudio.Data.Framework
,由於我在VS2017開發我在我的csproj以下行:在VSIX中引用具有多個VS版本的程序集版本
<Reference
Include="Microsoft.VisualStudio.Data.Framework, Version=15.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
/>
但是,當用戶試圖安裝我的VS2015擴展,他們理解得到一個例外:
無法加載文件或程序集「Microsoft.VisualStudio.Data.Framework,版本= 15.0.0.0,文化=中性公鑰= b03f5f7f11d50a3a」或它的一個依賴。
我該如何在一個VSIX中引用Microsoft.VisualStudio.Data.Framework
這個目標是VS版本?如果我將版本從15更改爲14,則由於未安裝VS2015(我也懷疑安裝在VS2017中的用戶會遇到問題),因此我無法再在我的機器上構建。
有沒有簡單的方法來做到這一點。可以針對最低支持的版本進行構建,並信任devenv.exe.config中的bindingRedirects加載正確的版本,或爲每個版本的Visual Studio構建單獨的vsix。 – jessehouwing
你的意思是VS2017自帶了devenv.exe.config中的重定向,使它自動加載標準DLL的以前版本?如果是這樣,這是一個非常令人滿意的解決方案...... –
是的,它確實如此。儘管不是所有的程序集*都是向後兼容的。所以這需要廣泛的測試。 – jessehouwing