我还想为我的自定义Blazor项目模板扩展提供VS2022支持">
我正在维护用于Blazor平台的Visual扩展,该扩展用于使用我的自定义组件创建新的Blazor应用程序。目前,我正在使用清单文件中的以下安装目标在VS2019中安装VSIX
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.3.29209,17.0)"/>
我还想为我的自定义Blazor项目模板扩展提供VS2022支持。因此,我在清单文件中尝试了下面的安装目标。
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.3.29209,18.0)">
<ProductArchitecture>amd64</ProductArchitecture>
</InstallationTarget>
</Installation>
在此更改后,VSIX已成功地安装在VS2019和VS2022中。但是由IWizard接口开发的自定义向导在尝试创建自定义blazor项目模板时并没有加载到VS2022中。因此,我遵循了以下步骤将我的扩展迁移到VS2022 (注意:我以为迁移之后VSIX将同时处理VS2019和VS2022)
<PackageReference Include="Microsoft.VisualStudio.SDK">
<Version>17.0.0-previews-1-31410-258</Version>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.TemplateWizardInterface">
<Version>17.0.0-previews-1-31314-256</Version>
</PackageReference>
现在,我的VSIX和向导应用程序已经在VS2022中成功编译和调试,我的扩展在VS2022中也按预期工作。但是在VS2019中,我遇到了这样的问题:“vstemplate文件引用向导类Blazor.IWizardImplementationRoot,该类在程序集中不存在”。
是否需要使用单个VSIX而不是单独的VSIX运行我的扩展VS2019和VS2022?
请建议解决此问题的解决方案,并提供在单个VSIX中提供VS2022和VS2019支持的步骤,而不是维护单独的VSIX项目和单独的VSIX文件。因为我们要在Visual市场上发布VSIX文件。如果要维护单独的VSIX文件,则不能为VS2022发布VSIX文件
谢谢,
甘尼桑河
发布于 2021-07-08 08:58:45
您是否遵循了将扩展迁移到VS2022的文档?
例如,我看到您试图组合您的安装目标,但是docs显示要分别执行它们,因为<17.0要求ProductArchitecture为x86
,而>=17.0要求它为amd64
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.3.29209,17.0)">
<ProductArchitecture>x86</ProductArchitecture>
</InstallationTarget>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[17.0,18.0)">
<ProductArchitecture>amd64</ProductArchitecture>
</InstallationTarget>
</Installation>
但是,根据扩展包含的其他代码类型,您可能需要拆分为单独的VSIXes。这是由于VS本身的引用程序集之间的更改中断造成的。
https://stackoverflow.com/questions/68284783
复制相似问题