Search code examples
visual-studio-extensions

Why is the option "Include in VSIX option" missing


I have a "Visual Studio Extension" project which I created using Visual Studio 2019.

If I add files to the project - for example a help file - I expect to see the option "Include in VSIX" in the properties window for that file. The option is missing in this project.

I have just created a new "Visual Studio Extension" project and added an additional file. In this case, the option "Include in VSIX" is present, so it looks like a problem in my specific project.

I guess there is something different in the project file. Does anybody know what it might be?

By the way, the project type GUID {82b43b9b-a64c-4715-b499-d71e9ca2bd60} which indicates an extensibility project is present.

In addition, if I patch the option <IncludeInVSIX>true</IncludeInVSIX> into the project file for the required file, the file does get included in the VSIX installation.


Solution

  • In the project file (.csproj) there is a list of project type guids. The list was:

    <ProjectTypeGuids>
      {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};
      {82b43b9b-a64c-4715-b499-d71e9ca2bd60};
      {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
    </ProjectTypeGuids>
    

    (actually all on one line).

    These GUIDS mean (in the above order)

    • WPF project
    • Extensibility project
    • C# project

    I have changed the sequence to

    <ProjectTypeGuids>
      {82b43b9b-a64c-4715-b499-d71e9ca2bd60};
      {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};
      {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
    </ProjectTypeGuids>
    

    (again, it is actually on one line)

    That is, I have moved the GUID which indicates an extensibility project to the start of the list. Now the "Include in VSIX" appears.