我在VS 2012推出时编写了这个扩展程序。当时我在VS 2012上编译这个扩展程序,并且只针对VS 2012进行了优化。
随后,当VS 2013发布时,我重新编译了这个扩展程序,以便该程序也可以安装在VS 2013上。扩展程序本身的代码可在VS 2012/2013/2015上无需更改即可运行。因此,为了允许在VS 2013上安装该程序,我仅更新了.vsixmanifest文件,将所需的VS版本从原来的版本更改为:
然后在VS 2013上编译和运行正常,但显然扩展程序随后需要这些程序集的更新版本,而这些版本仅在VS 2013上可用。因此,该扩展程序无法在VS 2012上安装。我现在在使用VS 2015时遇到了类似的问题。
我认为我应该安装VS 2012 SDK,这将为我提供这些程序集的11版本,以便对其进行编译,但是必须先安装VS 2012才能安装此SDK。
是否有办法从VS 2015编译此扩展程序,同时允许该扩展程序在所有早至2012版本的VS上安装?
随后,当VS 2013发布时,我重新编译了这个扩展程序,以便该程序也可以安装在VS 2013上。扩展程序本身的代码可在VS 2012/2013/2015上无需更改即可运行。因此,为了允许在VS 2013上安装该程序,我仅更新了.vsixmanifest文件,将所需的VS版本从原来的版本更改为:
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="11.0" />
to
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0,12.0]" />
看起来它运行得很好。
然而,当我后来卸载了我的VS 2012安装程序并想在VS 2013上编译扩展时,我遇到了以下引用的问题:
<Reference Include="Microsoft.VisualStudio.CoreUtility, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.Editor, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.Text.Data, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.Text.UI, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
无法找到这些程序集的11版本。我编辑了项目文件:
<Reference Include="Microsoft.VisualStudio.CoreUtility" />
<Reference Include="Microsoft.VisualStudio.Editor" />
<Reference Include="Microsoft.VisualStudio.Text.Data" />
<Reference Include="Microsoft.VisualStudio.Text.UI" />
<Reference Include="Microsoft.VisualStudio.Text.UI.Wpf" />
然后在VS 2013上编译和运行正常,但显然扩展程序随后需要这些程序集的更新版本,而这些版本仅在VS 2013上可用。因此,该扩展程序无法在VS 2012上安装。我现在在使用VS 2015时遇到了类似的问题。
我认为我应该安装VS 2012 SDK,这将为我提供这些程序集的11版本,以便对其进行编译,但是必须先安装VS 2012才能安装此SDK。
是否有办法从VS 2015编译此扩展程序,同时允许该扩展程序在所有早至2012版本的VS上安装?