VS2010 可扩展性 - 有什么不同?

发布于 2024-07-10 05:08:11 字数 74 浏览 6 评论 0原文

向那些已经看过 VS2010 的人提出一个问题。 为了让他们的外接程序在 VS2010 下工作,外接程序开发人员必须进行多大的更改?

A question to those of you who already looked at VS2010. How big are the changes that add-in developers will have to make in order to get their add-ins working under VS2010?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

书间行客 2024-07-17 05:08:11

幸运的是,我刚刚写了关于 这个确切的主题并显示了升级我的加载项所需的内容。 (下面的链接)

基本上,您的答案是影响较小的迁移,因为大多数功能都有向后兼容的“垫片”。 不过,可以理解的是,为了在 2010 年获得 MAF、MEF 和 WPF 等新功能,开发人员需要做一些工作。

最后 - 请务必阅读这篇来自 Carlos Quintero 的精彩文章,MVP 关于加载项、框架和 CLR 兼容性。 卡洛斯的博客是我发现的最好的插件博客。

As luck would have it I've just written about this exact subject and shown what it took to upgrade my add-in. (links below)

Basically your answer is that there is a low-impact migration, because a back-wards compatible "shim" is in place for most functionality. Understandably though, to get the new stuff in 2010 like MAF, MEF, and WPF there will be some work on the developers part.

Lastly - Be sure to read this outstanding post from Carlos Quintero, MVP about Add-Ins, Frameworks and CLR compatibility. Carlos's blog is the best I've found for add-in stuff.

-小熊_ 2024-07-17 05:08:11

我们已经将 Visual Lint 产品的开发版本迁移到 VS2010,并且在大多数情况下迁移都很简单 - 或者如果 Visual Studio 2010 Beta 1 自动化模型中没有那么多错误的话迁移会很简单。 这种体验类似于我们为支持 VS2005 所做的工作(相比之下,VS2008 轻而易举),因此很明显 VS2010 代表了 Visual Studio 发展过程中的重大变化。

由于我们对支持的所有版本的 Visual Studio 使用相同的二进制文件(这意味着代码始终是本机 C++),因此界面中的重大更改对我们来说往往是非常明显的。 这次,给我们带来问题的领域是:

  1. 新的 .vcxproj 项目文件格式(我们解析项目文件以读取项目属性,因为这在多个 Visual Studio 版本中比使用 VCProjectEngine(Visual C++ 自动化模型)更可靠)。 因此,我们必须为 .vcxproj 文件编写一个新的解析器,并且由于它们可能非常复杂,这本身就是一项主要任务。
  2. 命令栏/命令界面中的各种错误(可能与新的 WPF 编辑器/命令栏集成有关)。 Carlos Quintero 在博客上发表了大量有关此主题的文章,因此,如果您对此领域有疑虑,建议您阅读他的博客。
  3. Beta 1 中对加载项启动顺序进行了未记录的更改,这意味着 DTE Window 接口在 OnStartupComplete 事件发生之前无法正常工作。 MS 已通知我们,由于潜在的兼容性问题,他们正在取消 Beta 2 中的这一特定更改,但无论如何,我们现在已经降低了代码对这一更改的敏感度。
  4. Beta 1 中的工具窗口无法通过内部 CLSID 创建(尽管 ProgID 工作正常)。 这是我们在完成移植的最后一个主要部分之前等待的最后一个。

我怀疑我们的经验对于大多数加载项来说具有相当的代表性 - 只有当您使用直接受 Visual Studio 本身重大变化影响的区域(例如编辑器或智能感知集成)时,影响可能会特别严重。

最后,我们不打算将构建本身迁移到 VS2010; 它目前是在 VS2008 中构建的,我们根本看不出有任何理由迁移到 IDE,即使今年晚些时候 RTM 发布,它也显示出仍然是“正在进行中的工作”的所有迹象(这只是我个人的意见) - YMMV)。

We've already migrated a development version of our Visual Lint product to VS2010, and for the most part the migration was straightforward - or would have been if there weren't so many bugs in the Visual Studio 2010 Beta 1 automation model. The experience has been akin to the work we had to do to support VS2005 (by contrast VS2008 was a breeze), so it's obvious that VS2010 represents a major change in the evolution of Visual Studio.

As we're using the same binary for all versions of Visual Studio we support (which means the code is contstained to be native C++ throughout), breaking changes in the interfaces tend to be quite visible to us. This time, the areas which have caused us issues are:

  1. The new .vcxproj project file format (we parse project files to read project properties as that's more reliable across multiple Visual Studio versions than using VCProjectEngine - the Visual C++ automation model). Hence we had to write a new parser for .vcxproj files, and as they are potentially very complex that was a major task in itself.
  2. Various bugs in the command bar/command interfaces (presumably related to the new WPF editor/command bar integration). Carlos Quintero has blogged extensively about this subject, so if you have concerns in this area you would be well advised to read his blog.
  3. An undocumented change to the add-in startup sequence in Beta 1 which meant that the DTE Window interfaces were not functional until the OnStartupComplete event had occured. MS have informed us that they are reversing this particular change in Beta 2 due to potential compatibility issues, but we've desensitised our code to this one now, anyway.
  4. Toolwindows in Beta 1 can't be created by internal CLSID (though ProgID works OK). This is the last one we're waiting on before we can wrap up the last major bit of the port.

I suspect that our experience will be pretty representative for most add-ins - it is only if you are using the areas affected directly by major changes in Visual Studio itself (e.g. editor or intellisense integration) that the effects are likely to be particularly severe.

Finally, we're not planning to migrate the build itself to VS2010; it is currently built in VS2008, and we quite simply can't see any reason to migrate to an IDE which is showing every sign of still being a "work in progress" even when it RTMs later this year (that's just my personal opinion though - YMMV).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文