次の方法で共有


What is the “VSIX Project” template?

Disclaimer : This is about working with the Visual Studio 2010 Beta 1 SDK. Information is likely to be inaccurate for future or previous Visual Studio SDK releases.

When you install the Visual Studio 2010 SDK Beta 1, you’ll notice a new node in the new project dialog under Visual C#\Extensibility and Visual Basic\Extensibility:

image

The editor extension templates are what you would expect. They give you a project that builds a MEF component (which the VS core editor consumes) to provide various adornments, etc…

If you would want to build a VSPackage, the trusty package wizard still lives where it always has under Other Project Types\Extensibility:

image

So then, what is that “VSIX Project” template for (in the first screenshot)?

The VSIX Project is meant to be a very simple project template that is used for building a raw VSIX “bundle” (i.e. the zip container). That’s why there is essentially no code in the project at all. This could be useful in situations where you were only just packaging up something like a project or item template, and weren’t really building any code. Pedro mentions this in his blog post series on how to build a VSIX-based project/item template for distribution on the VS Gallery.

Preventing the DLL/PDB from being added to the VSIX

One thing you may notice is that the DLL and PDB built from the project (that you don’t need if you’re just packaging up some templates) gets included in the VSIX file. To suppress this, you could either use the VSIX Explorer tool to edit the file post-build (tedious since you need to do this for each build)…or simply add the following XML snippet to your CSProj/VBProj to prevent the DLL or PDB from being included in the VSIX file at all:

 <PropertyGroup>
  <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
  <CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
</PropertyGroup>

 

Please note that this workaround is only meant for the Beta 1 SDK. This may change in future SDK releases.

Comments

  • Anonymous
    June 09, 2009
    PingBack from http://blogs.msdn.com/pedrosilva/archive/2009/06/08/creating-an-item-template-extension-addendum.aspx
  • Anonymous
    June 09, 2009
    Aaron (one of the developers on my team working on the SDK) just wrote a couple of great posts for folks
  • Anonymous
    June 09, 2009
    The image # 2 in this blog is missing
  • Anonymous
    June 09, 2009
    There have been intermittent issues with the image hosting on the server today. Please CTRL+F5 in your browser and hopefully it will show up.
  • Anonymous
    June 09, 2009
    If you are looking to follow this series, be sure to subscribe to my RSS feed at http://feeds.jasongaylord
  • Anonymous
    June 09, 2009
    If you are looking to follow this series, be sure to subscribe to my RSS feed at http://feeds.jasongaylord.com/JasonNGaylord
  • Anonymous
    June 12, 2009
    This week on Channel 9, Brian and Dan cover the top developer news, including: - XNA Game Studio 3.1