В документации к Visual Studio Extensions сказано, что я могу применять условные выражения для элементов в файле vsct
.
https://github.com/MicrosoftDocs/visualstudio-docs/blob/master/docs/extensibility/vsct-xml-schema-conditional-attributes.md
Я пытался создать различные меню дляVS2019 и еще один для других.Я создал условный символ компиляции, который определяет VS2019
для Visual Studio 2019 +.
<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.