Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio extensions 如何为多个Visual Studio版本创建单个VSIX扩展?_Visual Studio Extensions_Vsix - Fatal编程技术网

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

Visual studio extensions 如何为多个Visual Studio版本创建单个VSIX扩展?,visual-studio-extensions,vsix,Visual Studio Extensions,Vsix,需要创建通用VSIX扩展,该扩展需要支持Visual Studio 2010至2017的所有版本 为了达到上述要求,我参考了以下链接 在这种情况下,他们要求将packagego添加到Visual Studio C Items | Extensibility | VSPackage节点,选择Visual Studio包模板,并使用VSIX项目中的Visual Studio包模板将其命名为MyPackage.cs到VSIX项目中,但我的Visual Studio没有Visual Studio包项模板

需要创建通用VSIX扩展,该扩展需要支持Visual Studio 2010至2017的所有版本

为了达到上述要求,我参考了以下链接

在这种情况下,他们要求将packagego添加到Visual Studio C Items | Extensibility | VSPackage节点,选择Visual Studio包模板,并使用VSIX项目中的Visual Studio包模板将其命名为MyPackage.cs到VSIX项目中,但我的Visual Studio没有Visual Studio包项模板。它只有Visual Studio AsyncPackage模板。我在下面添加了我的visual studio详细信息

VisualStudio旧版本只有“VisualStudio包”选项,而且他们建议现在使用AsyncPackage为多个VisualStudio版本创建一个公共包。请在这里查找详细信息

如果我在VSIX项目中添加了VisualStudioAsyncPackage,那么在VSIX项目编译过程中,我将面临以下编译错误

请提出任何解决方案,否则请提出任何其他方式来实现我的要求


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

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

即使您可以从旧的VS版本中获取模板,也不可能使用单个VSIX从VS2010到VS2017,因为清单有三个不同的版本,如本文所述。最多,您可以将目标设定在2012年到2017年之间

但考虑到微软推动在VS 2017 15.8和未来VS 2019 16.0和16.1中至少对自动加载包使用异步包,最好的未来证明方法是为VS 2010-2013开发一个非异步包,为VS 2015-2017开发另一个异步包。因为可能您的软件包今天不需要自动加载异步软件包将不需要,但可能将来它需要自动加载,然后您将被迫使用异步软件包,或者可能Microsoft在VS 2019 16.2中决定,即使是非自动加载的软件包也必须是异步的

注意:您可以在VS 2013和更高版本的示例上尝试异步包,但如果您还需要针对VS 2010和2012,则不值得


一句话:将您的时间集中于在两个包项目之间尽可能多地重用代码,您必须创建这两个包项目以实现目标VS 2010-2019。

将目标环境设置为您希望包含的所有版本的数组的可能重复。@SunnyPatel注:我已使用VS2012创建了一个项目,其中包含Visual Studio支持的版本vsixmanifest文件。它仅在VS2012安装的机器中工作。请就此提出建议。