进行扩展,为 visual studio 的两个不同版本构建不同的菜单
Make extension to build different menus for two different versions of visual studio
Visual Studio 扩展的文档说我可以对 vsct
文件中的元素应用条件。
我一直在尝试为 VS2019 构建不同的菜单,并为其他人构建另一个菜单。我创建了一个条件编译符号,它为 Visual Studio 2019+ 定义了 VS2019
。
<Menu guid="GuidMenuSet" id="GroupIDMenuBaseGroup" priority="0x0100" type="Menu"
Condition="Defined(VS2019)">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS"/>
<Strings>
<ButtonText>My Text</ButtonText>
<CommandName>MyText</CommandName>
</Strings>
</Menu>
<Menu guid="GuidMenuSet" id="GroupIDMenuBaseGroup"
priority="0x0100" type="Menu"
Condition="!Defined(VS2019)">
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
<Strings>
<ButtonText>My Text</ButtonText>
<CommandName>MyText</CommandName>
</Strings>
</Menu>
菜单在VS2017和VS2019上都没有出现。
.VSCT 文件被编译成 binary command table output (.cto) resource,然后作为资源嵌入到您的包程序集中。此 .cto 资源在构建时编译,并在构建 .cto 资源时评估条件。
因为你的菜单组是在你构建包时定义的,你的菜单组看起来是基于你构建它的 VS 版本。
此致,
Visual Studio 扩展的文档说我可以对 vsct
文件中的元素应用条件。
我一直在尝试为 VS2019 构建不同的菜单,并为其他人构建另一个菜单。我创建了一个条件编译符号,它为 Visual Studio 2019+ 定义了 VS2019
。
<Menu guid="GuidMenuSet" id="GroupIDMenuBaseGroup" priority="0x0100" type="Menu"
Condition="Defined(VS2019)">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS"/>
<Strings>
<ButtonText>My Text</ButtonText>
<CommandName>MyText</CommandName>
</Strings>
</Menu>
<Menu guid="GuidMenuSet" id="GroupIDMenuBaseGroup"
priority="0x0100" type="Menu"
Condition="!Defined(VS2019)">
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
<Strings>
<ButtonText>My Text</ButtonText>
<CommandName>MyText</CommandName>
</Strings>
</Menu>
菜单在VS2017和VS2019上都没有出现。
.VSCT 文件被编译成 binary command table output (.cto) resource,然后作为资源嵌入到您的包程序集中。此 .cto 资源在构建时编译,并在构建 .cto 资源时评估条件。
因为你的菜单组是在你构建包时定义的,你的菜单组看起来是基于你构建它的 VS 版本。
此致,