gpt4 book ai didi

visual-studio-extensions - 如何为多个 Visual Studio 版本创建单个 VSIX 扩展?

转载 作者:行者123 更新时间:2023-12-04 23:12:49 25 4
gpt4 key购买 nike

需要创建需要支持所有版本的 Visual Studio(2010 到 2017)的通用 VSIX 扩展。

我引用了下面的链接来实现上述要求。

https://msdn.microsoft.com/en-us/magazine/mt493251.aspx

在那,他们告诉通过使用 VSIX 项目中的 Visual Studio 包模板将包(转到 Visual Studio C# 项目 | 扩展性 | VSPackage 节点,选择 Visual Studio 包模板并将其命名为 MyPackage.cs)到 VSIX 项目但我的 Visual Studio 没有 Visual Studio Package 项目模板。它只有 Visual Studio AsyncPackage 模板。我在下面添加了我的视觉工作室详细信息。

enter image description here

Visual Studio 旧版本只有“Visual Studio Package”选项,并且他们建议现在使用 AsyncPackage 为多个 Visual Studio 版本创建一个通用包。请在此处找到详细信息。

https://developercommunity.visualstudio.com/content/problem/293478/visual-studio-package-template-not-available-on-sd.html

如果我在 VSIX 项目中添加了 Visual Studio AsyncPackage,然后按照该过程,在 VSIX 项目编译时遇到以下编译错误。

enter image description here

请提出任何解决方案来解决该问题,或者请提出任何其他方式来实现我的要求。

注意:我在 vsixmanifest 文件中使用 VS2012 创建了一个带有 Visual Studio 支持版本的项目。它仅适用于安装了 VS2012 的机器。请就此提出建议。

最佳答案

我是 MSDN 杂志文章的作者。它是在 Visual Studio 包项目模板被 Visual Studio 异步包项目模板替换之前编写的。

即使您可以获得模板(来自旧 VS 版本),由于 list 的三个不同版本,如文章中所述,也不可能使用单个 VSIX 将 VS 2010 定位到 VS 2017。您最多可以将目标从 VS 2012 定位到 VS 2017。

但是考虑到微软在 VS 2017 15.8 和 future 的 VS 2019 16.0 和 16.1(见 Improving the responsiveness of critical scenarios by updating auto load behavior for extensions)中插入使用异步包(至少对于自动加载包),最好的面向 future 的方法是为 VS 开发一个非异步包2010-2013 和另一个用于 VS 2015-2017 的异步包。因为也许你的包今天不需要自动加载(不需要异步包),但可能在 future 它需要自动加载(然后你将被迫异步包),或者微软可能在 VS 2019 16.2 中决定甚至不需要- 自动加载包也必须是异步的...

注意:您甚至可以使用示例 Visual Studio 2013 backwards compatible async package 在 VS 2013 及更高版本上尝试异步包但如果您还需要针对 VS 2010 和 2012,这是不值得的。

底线:将您的时间集中在您必须创建以针对 VS 2010-2019 的两个包项目之间尽可能多地重用代码。

关于visual-studio-extensions - 如何为多个 Visual Studio 版本创建单个 VSIX 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52063441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com