Visual Studio扩展 - 支持多个版本的VS

3

我一直在编写一个扩展程序(编辑器分类器项目),并添加了一些其他功能。它可以在VS2013上正常工作,但我需要支持其他版本,如VS2012和VS2015(当它不再是预览版时)。

当我只是在vsixmanifest中添加支持的版本时,我遇到的问题是,导出ITestContainerDiscovererIClassificationTypeRegistryService失败,并抱怨:

ContractName="Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService"不能分配给类型Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService

我猜这是因为我引用了无效的SDK版本。我可以编写不同版本的代码,但是否有办法跨Visual Studio版本共享扩展程序?


你尝试过引用最低版本吗? - ErikEJ
看看这个是否有帮助:如何创建一个与VS 2010、2012和2013兼容的Visual Studio可扩展性项目 http://blogs.clariusconsulting.net/kzu/how-to-create-a-visual-studio-extensibility-project-that-is-compatible-with-vs-2010-2012-and-2013/ - Carlos Quintero
@ErikEJ - 感谢您的提示,它似乎有效,除了我的 TestAdapters。需要再深入挖掘一下。@Carlos - 那篇博客更侧重于在版本之间无缝升级项目,而我需要生成可跨版本运行的二进制文件。 - Srikanth Venugopalan
1个回答

1
@ErikEJ的提示对我很有用。我不得不将扩展项目移植到VS2012,并使用target设置为[11.0,12.0]来构建它,这确保了我生成的VSIX适用于VS2012和VS2013。也没有错误!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接