I suggest you ...

Conditions support for <Content> section of VSIX manifest

Currently you can have a single .vsix file targeting several Visual Studio versions. But all the content is deployed to all Visual Studio versions. The request is to be able to deploy content based on conditions such as the Visual Studio version, edition, dependency installed or not, etc.

An scenario for this goal is the following: suppose that I have a single package MyAssembly.dll which has two different .vsct tables with different icons for VS 2010 (colorful) and 2012/2013 (gray). So I get two embedded resources such as Menus1.ctmenu and Menus2.ctmenu. Imagine that somehow I get two .pkdef files (MyAssembly1.pkdef referencing Menus1.ctmenu and MyAssembly2.pkdef referencing Menus2.ctmenu). Now, in a single manifest, in the <content> section, I want to specify MyAssembly1.pkdef for VS 2010 and MyAssembly2.pkdef for other VS versions.

Another scenario for conditional deployment was explained here:

https://connect.microsoft.com/VisualStudio/feedback/details/862951/
https://roslyn.codeplex.com/workitem/60

46 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Carlos Quintero (MVP)Carlos Quintero (MVP) shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    2 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Anonymous commented  ·   ·  Flag as inappropriate

        Now that I have your attention, consider also VSIXs containing multiple conditional manifests (not only conditional .pkgdef files or conditional DLLs). Example: manifest v1 for VS 2010, v2 for VS 2012-VS 2015, v3 for VS 2017, and v4 for the future.

        VSX developers want to target multiple VS versions with a single VSIX. The most common question today is "How do I create a VSIX targeting VS 2010-2017? I know that Microsoft considers VS 2010 little used, but the reality is that there are still people using VS 2005 and 2008.

      • KindDragonKindDragon commented  ·   ·  Flag as inappropriate

        It's also would be useful for natvis files (some natvis features supported only in latest VS)

      Feedback and Knowledge Base