【问题标题】:Developing Visual Studio addins for multiple versions of Visual Studio为多个版本的 Visual Studio 开发 Visual Studio 插件
【发布时间】:2012-11-21 14:41:00
【问题描述】:

我的任务是为 Visual Studio 开发一些扩展以供我们内部使用。这些将必须支持几个不同版本的 Visual Studio(VS2008、2010 和 2012 - VS2005 会很好,但不是必需的)。我想以尽可能一致的方式开发这些,尽可能多地重用代码,同时将其适应这些工具的现有项目结构,即 Visual Studio 2012 .sln。

开发这种扩展的最佳/最简单的方法是什么? VSPackage 项目?能否制作一个2008兼容的VS2012开发的VSPackage?

我目前正在编写的扩展程序所需的功能非常基本 - 我需要创建工具菜单命令,可能是自定义工具窗口。我的要求可能会在以后发生变化,但目前我不需要编辑器装饰或类似的东西。

我看到this 的问题似乎是重复的,但被接受的答案并没有回答问题,所以...

【问题讨论】:

    标签: visual-studio visual-studio-addins


    【解决方案1】:

    这真的取决于你的扩展要做什么。

    VS2008 不支持扩展 (.vsix),您需要为其编写部署为 msi 的 VSPackage。您也将无法访问 VS2010 中引入的许多新功能(更容易的编辑器集成和通过 MEF 访问 vs 服务),但是诸如操作解决方案/项目/文件之类的基本内容应该没问题并且适用于所有版本(例如使用 @ 987654321@应该没问题)。

    据我所知,对于 VS2008,您还需要 obtain a PLK,而 2010 年和 2012 年不再需要。

    我没有尝试在VS2012中开发2008包,但是你绝对可以在2012年开发2010扩展。

    还要记住 VS2008 是 .Net 3.5,所以你的代码应该使用 .net 3.5 和它支持可移植的 c# 版本。

    【讨论】:

    • 目前我的要求非常基本 - 工具菜单命令,可能是工具窗口(使用该信息更新了问题)。我以后可能会有更高级的要求,比如装饰,但到那时我们应该在 VS2012 上。 PLK 的事情可能会扼杀重用代码的机会
    • PLK 只需要 VS2008 来加载你的包,但代码应该仍然是可重用的。 AFAIK 添加工具菜单命令和工具窗口在所有三个版本的 VS 中的工作方式相同。您可以做的一件事是为您所针对的每个 VS 设置不同的项目(VS2010 和 VS2012 将是 .vsix,而 VS2008 将具有 MSI 部署)并将文件作为它们之间的链接共享,这应该会使 2010-12 的部署/调试更容易(感谢 .vsix)并且每个项目都可以针对不同的 .net 版本(2008-3.5、2010-4.0、2012-4.5)。
    • 是的,我了解不同的部署技术,并且精通 MSI。关于那种项目设置,我已经看到其他项目也这样做了,尽管我们的构建人员不会高兴:)。此外,我们还做了共享文件作为链接的事情,这让 VS/TFS 感到困惑。我希望每个 VS 版本(都在同一个 sln 中)都有一个项目,其中包含对具有实际插件代码的公共项目的引用。但我猜什么有效,有效
    • 我最终只开发了 3 个单独的插件。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多