<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Pedro Silva's Blog</title><subtitle type="html">Development lead on Visual Studio Platform team focusing on the extensibility of Visual Studio.</subtitle><id>http://blogs.msdn.com/pedrosilva/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/pedrosilva/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-06-02T15:59:00Z</updated><entry><title>Cool Extension: SQL Azure Explorer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/11/06/cool-extension-sql-azure-explorer.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/11/06/cool-extension-sql-azure-explorer.aspx</id><published>2009-11-06T17:45:00Z</published><updated>2009-11-06T17:45:00Z</updated><content type="html">&lt;P&gt;I was just looking through some new extensions on the &lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/" mce_href="http://visualstudiogallery.msdn.microsoft.com/"&gt;Visuals Studio Gallery&lt;/A&gt; for VS2010 Beta 2 and came across this one: &lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/en-us/003d7149-fff6-4f94-bf65-b3a1fef58ceb" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/003d7149-fff6-4f94-bf65-b3a1fef58ceb"&gt;the SQL Azure&amp;nbsp;Explorer&lt;/A&gt;&amp;nbsp;by &lt;A class="" href="http://weblogs.asp.net/jdanforth" mce_href="http://weblogs.asp.net/jdanforth"&gt;Johan Danforth&lt;/A&gt;. This extension creates a tool window in Visual Studio similar to the Server Explorer, that lets you manage SQL servers exposed through the Azure cloud services. You can create databases and tables, edit columns, view and edit data... It's all very cool. The SQL Azure Explorer also lets you edit queries and write stored procedures in a SQL Editor.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918707" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /><category term="Extension" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Extension/default.aspx" /></entry><entry><title>Visual Studio 2010 SDK for Beta 2 Now Available!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/10/21/visual-studio-2010-sdk-for-beta-2-now-available.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/10/21/visual-studio-2010-sdk-for-beta-2-now-available.aspx</id><published>2009-10-21T18:36:00Z</published><updated>2009-10-21T18:36:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;The &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cb82d35c-1632-4370-acfb-83c01c2ece24" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cb82d35c-1632-4370-acfb-83c01c2ece24"&gt;Visual Studio 2010 Beta 2 SDK&lt;/A&gt; is now available for everyone to use from the Download Center. So, install it (it's quick), and start building you very own extensions to Visual Studio today! And once you have those extensions ready to share with world, post them up on the &lt;A class="" href="http://www.visualstudiogallery.com/" mce_href="http://www.visualstudiogallery.com"&gt;Visual Studio Gallery&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;In addition to shipping the VS SDK Beta 2 on the same day as the product, we have also released the Beta 2 &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c6a64e02-6fd6-41e3-a3fd-399d174a84b7"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Integrated&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; and &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e7af4fed-8dc8-4b31-b3f5-695122a8c072"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Isolated&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; shell redists, and the DSL team have shipped the Beta 2 &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f5431a70-b421-4be6-8fd3-6b27abda0817"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;DSL tools&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; as well.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910816" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="News" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/News/default.aspx" /><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Visual Studio 2010 Beta 2 Available</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/10/19/visual-studio-2010-beta-2-available.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/10/19/visual-studio-2010-beta-2-available.aspx</id><published>2009-10-19T22:40:00Z</published><updated>2009-10-19T22:40:00Z</updated><content type="html">&lt;P&gt;We announced today the availability of the &lt;A href="http://go.microsoft.com/fwlink/?LinkID=151797" mce_href="http://go.microsoft.com/fwlink/?LinkID=151797"&gt;Visual Studio 2010 Beta 2 on MSDN&lt;/A&gt;. Later this week, on Wednesday, it will generally be available for everyone from the Download Center. There has been a ton of work, performance improvements,&amp;nbsp;and bug fixing done for Beta 2, so definitely check it out and provide us feedback on what you like and don't like.&lt;/P&gt;
&lt;P&gt;And, along with MSDN, the &lt;A href="http://www.visualstudiogallery.com/" mce_href="http://www.visualstudiogallery.com"&gt;Visual Studio Gallery&lt;/A&gt; has gone through a redesign. Also, VSIX extensions available on the Gallery are now on for Beta 2.&lt;/P&gt;
&lt;P&gt;New for the extension manager in Beta 2, we went through a UI redesign to make it appear more like the new Visual Studio shell and consistent with the New Project dialog; updated the vsixmanifest format; added support for Toolbox controls and VS Start Pages to VSIX; and fixed a slew of bugs.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909510" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="News" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/News/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Cool Extension: Vim Emulation</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/09/09/cool-extension-vim-emulation.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/09/09/cool-extension-vim-emulation.aspx</id><published>2009-09-09T21:36:00Z</published><updated>2009-09-09T21:36:00Z</updated><content type="html">&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/jaredpar/" mce_href="http://blogs.msdn.com/jaredpar/"&gt;Jared&lt;/A&gt; just released a cool new editor extension for Visual Studio 2010 Beta 1 to provide &lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329"&gt;Vim editor emulations&lt;/A&gt;. You can find this on the VS Gallery and through the Extension Manager in VS 2010, so go test drive it today.&lt;/P&gt;
&lt;P&gt;He also talks more about what this extension currently supports and where he's going with it on his &lt;A class="" href="http://blogs.msdn.com/jaredpar/archive/2009/09/09/vim-emulator-editor-extension-released.aspx" mce_href="http://blogs.msdn.com/jaredpar/archive/2009/09/09/vim-emulator-editor-extension-released.aspx"&gt;blog&lt;/A&gt;. And, sounds like he plans to also release the source code for it as well some time soon...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9893240" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /><category term="Extension" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Extension/default.aspx" /></entry><entry><title>Online Templates for the New Project Dialog</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/08/28/online-templates-for-the-new-project-dialog.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/08/28/online-templates-for-the-new-project-dialog.aspx</id><published>2009-08-28T21:27:00Z</published><updated>2009-08-28T21:27:00Z</updated><content type="html">&lt;P&gt;ScottGu recently &lt;A class="" href="http://weblogs.asp.net/scottgu/archive/2009/08/26/starter-project-templates-vs-2010-and-net-4-0-series.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2009/08/26/starter-project-templates-vs-2010-and-net-4-0-series.aspx"&gt;posted about the new online templates feature&lt;/A&gt; of the Visual Studio 2010 Beta1. The discussions on his blog have been pretty lively, and mostly folks seem to like this new feature.&lt;/P&gt;
&lt;P&gt;The Online tab of the New Project Dialog is built on the same infrastructure as the Extension Manager. It uses the same UI and installation technology (VSIX packages) as other extensions. They're hosted on the &lt;A class="" href="http://blogs.msdn.com/controlpanel/blogs/www.visualstudiogallery.com" mce_href="http://blogs.msdn.com/controlpanel/blogs/www.visualstudiogallery.com"&gt;VS Gallery&lt;/A&gt; as well (under the Templates category). And, they're queryable on the Gallery through their web service. All of the earlier posts I made about how to create template extensions give step-by-step directions on how to create templates of your own.&lt;/P&gt;
&lt;P&gt;I'm glad to see folks are starting to see the value in these new online features. And, I&amp;nbsp;hope that for Beta 2 we will see a larger influx of customer uploaded templates,&amp;nbsp;and that these ASP.NET starter kits will also be on the gallery, so&amp;nbsp;our customers can use them seemlessly.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9888736" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>New Project templates of VS-MEF integration</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/07/13/new-project-templates-of-vs-mef-integration.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/07/13/new-project-templates-of-vs-mef-integration.aspx</id><published>2009-07-13T23:55:00Z</published><updated>2009-07-13T23:55:00Z</updated><content type="html">&lt;P&gt;&lt;A class="" href="http://www.clariusconsulting.net/blogs/pga/" mce_href="http://www.clariusconsulting.net/blogs/pga/"&gt;Pablo Galiano&lt;/A&gt; has just published two you project template extensions for the &lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/" mce_href="http://visualstudiogallery.msdn.microsoft.com/"&gt;Visual Studio Gallery&lt;/A&gt;, both of them for doing MEF integration with Visual Studio 2010 Beta 1. Check them out:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/en-us/33daf1d1-cfad-481b-b593-80a08c89e96e" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/33daf1d1-cfad-481b-b593-80a08c89e96e"&gt;Template for creating a VS Package that exposes MEF extension points.&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/en-us/529a374e-f2ae-44a0-802e-b889a2ce768c" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/529a374e-f2ae-44a0-802e-b889a2ce768c"&gt;Template for creating and packaging up generic MEF extension points.&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Give them a try... you can get them in the product through the Extension Manager.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832305" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Links" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Links/default.aspx" /></entry><entry><title>MPF for Projects released for VS 2010 Beta 1</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/07/09/mpf-for-projects-released-for-vs-2010-beta-1.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/07/09/mpf-for-projects-released-for-vs-2010-beta-1.aspx</id><published>2009-07-10T04:29:00Z</published><updated>2009-07-10T04:29:00Z</updated><content type="html">Chuck England has just recently posted the sources for &lt;A class="" href="http://mpfproj10.codeplex.com/" mce_href="http://mpfproj10.codeplex.com/"&gt;MPF for Projects on CodePlex&lt;/A&gt;. If you're interested in creating your own project systems for Visual Studio 2010 Beta 1, this is the place to start. And, for those of you wishing to port your project systems from VS 2008 to 2010, the sources will give you a good idea of what types of changes will be necessary. There have been several requests for a Beta 1 version of this component, so I hope you will find it useful.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9827981" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Links" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Links/default.aspx" /></entry><entry><title>Look Ma, No More PLKs!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/19/look-ma-no-plks.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/19/look-ma-no-plks.aspx</id><published>2009-06-19T23:35:00Z</published><updated>2009-06-19T23:35:00Z</updated><content type="html">&lt;P&gt;For those of you trying out Visual Studio 2010 Beta 1, you may have already noticed... But, Visual Studio 2010&amp;nbsp;no longer requires you to create &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb165795.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb165795.aspx"&gt;Package Load Keys (PLKs)&lt;/A&gt; for writing and deploying VSPackage extensions to VS. This&amp;nbsp;will probably come&amp;nbsp;with some fanfare by those of you who've had trouble with PLKs, or getting your packages to load because of them,&amp;nbsp;or never understood why they were needed anyway. &lt;/P&gt;
&lt;P&gt;The requirement for &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb932503.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb932503.aspx"&gt;Shell Load Keys (SLKs)&lt;/A&gt; has also been removed, so you can create new isolated shells without them.&lt;/P&gt;
&lt;P&gt;For those of you who have no idea what PLKs/SLKs are, then no need to worry... :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9791168" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Update to AboutBox Extension</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/10/update-to-aboutbox-extension.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/10/update-to-aboutbox-extension.aspx</id><published>2009-06-10T17:46:00Z</published><updated>2009-06-10T17:46:00Z</updated><content type="html">&lt;P&gt;I recently posted an update the the &lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/040c0484-8176-4b53-98d6-aaba136d00e4" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/040c0484-8176-4b53-98d6-aaba136d00e4"&gt;WPF AboutBox (CS) extension &lt;/A&gt;(v 0.4)&amp;nbsp;on the VS Gallery. You can find it by launching the Extension Manager in Visual Studio 2010 Beta 1. If you've already previously installed it, then click on the Updates tab on the left hand side of the dialog. This will query the Gallery for any updates to the extensions you already have installed. Notice that the WPF AboutBox (CS) should now appear there.&lt;/P&gt;
&lt;P&gt;Also, you may notice that I recently posted a &lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/f3b79932-ebe6-42c9-bb0b-c51bdc5ad6a3" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/f3b79932-ebe6-42c9-bb0b-c51bdc5ad6a3"&gt;WPF AboutBox (VB) extension&lt;/A&gt; too. So now you can add this AboutBox to your VB apps too.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9724334" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Aaron Posts on VSIX Project and pkgdef Files</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/09/aaron-posts-on-vsix-project-and-pkgdef-files.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/09/aaron-posts-on-vsix-project-and-pkgdef-files.aspx</id><published>2009-06-09T18:51:00Z</published><updated>2009-06-09T18:51:00Z</updated><content type="html">&lt;P&gt;Aaron (one of the developers on my team working on the SDK) just&amp;nbsp;wrote a couple of great posts for folks wishing to use and to understand how the SDK works for VS 2010 Beta 1. Definitely worth a read if you're working on VS extensions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/aaronmar/archive/2009/06/09/what-is-the-vsix-project-template.aspx" mce_href="http://blogs.msdn.com/aaronmar/archive/2009/06/09/what-is-the-vsix-project-template.aspx"&gt;VSIX Project template&lt;/A&gt; - 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). &lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/aaronmar/archive/2009/06/05/pkgdef-and-the-experimental-instance-in-vs-2010.aspx" mce_href="http://blogs.msdn.com/aaronmar/archive/2009/06/05/pkgdef-and-the-experimental-instance-in-vs-2010.aspx"&gt;How PkgDef files&amp;nbsp;(for portable registration) work with the Experimental Instance in the SDK&lt;/A&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9716338" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Links" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Links/default.aspx" /></entry><entry><title>Creating an Item Template Extension (Addendum)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/08/creating-an-item-template-extension-addendum.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/08/creating-an-item-template-extension-addendum.aspx</id><published>2009-06-09T06:48:00Z</published><updated>2009-06-09T06:48:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;There are a couple of other ways to create project/item template extensions besides using the VSIX Explorer. So, I’m going to give some quick steps here for folks that would like to use an alternative… Just replace &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Part 2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; of my earlier posts with either of the ones described below.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;A – Using VSIX Project Template&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The VSIX Project template is shipped with the VS SDK. You can install the &lt;/FONT&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkId=147422"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;SDK from MSDN Download Center&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9712578/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9712578/original.aspx"&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 346px" height=346 src="http://blogs.msdn.com/photos/pedrosilva/images/9712578/500x346.aspx" width=500 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9712578/500x346.aspx"&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Calibri&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;To use the template, launch the &lt;B style="mso-bidi-font-weight: normal"&gt;New Project&lt;/B&gt; dialog and navigate down to &lt;B style="mso-bidi-font-weight: normal"&gt;Visual C# (or Visual Basic)&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;Extensibility&lt;/B&gt; node. And, select &lt;B style="mso-bidi-font-weight: normal"&gt;VSIX Project&lt;/B&gt; from the list. This will create a new blank Extension project. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;In the &lt;B style="mso-bidi-font-weight: normal"&gt;Solution Explorer&lt;/B&gt;, right click on the Project (&lt;B style="mso-bidi-font-weight: normal"&gt;VSIXProject2&lt;/B&gt;), and select &lt;B style="mso-bidi-font-weight: normal"&gt;Add&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;New Folder&lt;/B&gt;. It doesn’t matter what you name it, but for our example I’m using “Item”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;In that folder, you need to add a zipped up template file. To do this, right click on the folder, and select &lt;B style="mso-bidi-font-weight: normal"&gt;Add&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;Existing Item&lt;/B&gt;. This brings up a &lt;B style="mso-bidi-font-weight: normal"&gt;File Open&lt;/B&gt; dialog, so navigate to where we created our Item template from &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/pedrosilva/archive/2009/06/03/creating-an-item-template-extension-part-1.aspx"&gt;&lt;FONT size=3&gt;Part 1&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;. [&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; Be sure to change the file filter to &lt;B style="mso-bidi-font-weight: normal"&gt;All Files (*.*)&lt;/B&gt; or you might not see your template.] &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG style="WIDTH: 211px; HEIGHT: 261px" height=261 src="http://blogs.msdn.com/photos/pedrosilva/images/9712579/original.aspx" width=211 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9712579/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;One thing you &lt;B style="mso-bidi-font-weight: normal"&gt;*MUST* &lt;/B&gt;do to make this packaging work is tag the template zip file to “Copy to Output”. Select the zip file (&lt;B style="mso-bidi-font-weight: normal"&gt;WpfAboutBoxCS.zip&lt;/B&gt;), and view its properties. In the &lt;B style="mso-bidi-font-weight: normal"&gt;Property&lt;/B&gt; tool window, change the &lt;B style="mso-bidi-font-weight: normal"&gt;Copy to Output Directory&lt;/B&gt; property to &lt;B style="mso-bidi-font-weight: normal"&gt;Copy Always&lt;/B&gt;. The build tools for this project, put everything in the output folder into the built VSIX file, so if you don’t do this, your template won’t be part of the VSIX file.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;You can then edit the VSIX manifest data in an editor that’s shipped as part of the SDK. Just double-click the &lt;SPAN style="COLOR: #c00000"&gt;extension.vsixmanifest&lt;/SPAN&gt; file in the Solution Explorer.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9712581/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9712581/original.aspx"&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 362px" height=362 src="http://blogs.msdn.com/photos/pedrosilva/images/9712581/500x362.aspx" width=500 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9712581/500x362.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;This is very similar to editing the metadata in the VSIX Explorer, except that it has better binding support, so you don’t need to drop into XML to edit it by hand. So, I won’t go into too much detail about each field. But, you’ll notice that the &lt;B style="mso-bidi-font-weight: normal"&gt;Content&lt;/B&gt; section of this page is plugged in, so we can edit the content of your VSIX more easily. Also, the &lt;B style="mso-bidi-font-weight: normal"&gt;icon&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;preview&lt;/B&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;image&lt;/B&gt; starts with the defaults, but you can either add your own images to this project, or just edit the &lt;B style="mso-bidi-font-weight: normal"&gt;icon&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;preview&lt;/B&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;image&lt;/B&gt; files that are in this project.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Now, &lt;B style="mso-bidi-font-weight: normal"&gt;build&lt;/B&gt; the solution, and you will get a VSIX file in the output directory &lt;SPAN style="COLOR: #c00000"&gt;(.\bin\Release&lt;/SPAN&gt;). You can navigate through the Windows Explorer to find the file under your project directory.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;The one issue with following this process is that the VSIX Project also builds an empty assembly in addition to the template. So, the VSIX file actually contains a DLL and PDB file that was output from this project. This is not great because you would be installing it on the end user’s machine even though they are unnecessary.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Thanks to &lt;A class="" href="http://blogs.msdn.com/aaronmar/archive/2009/06/09/what-is-the-vsix-project-template.aspx" mce_href="http://blogs.msdn.com/aaronmar/archive/2009/06/09/what-is-the-vsix-project-template.aspx"&gt;Aaron&lt;/A&gt; for the following work around to get the unnecessary DLL &amp;amp; PDB files&amp;nbsp;not&amp;nbsp;to be packaged into the VSIX:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;H3&gt;&lt;EM&gt;Preventing the DLL/PDB from being added to the VSIX&lt;/EM&gt;&lt;/H3&gt;
&lt;P&gt;&lt;EM&gt;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:&lt;/EM&gt;&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE id=codeSnippet style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none"&gt;&lt;EM&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;PropertyGroup&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;  &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CopyBuildOutputToOutputDirectory&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;false&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CopyBuildOutputToOutputDirectory&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;  &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SkipCopyingSymbolsToOutputDirectory&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;true&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;SkipCopyingSymbolsToOutputDirectory&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;PropertyGroup&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;B – Raw Editing of VSIX&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;As I mentioned in earlier posts, the VSIX file is just an OPC compound file. This file is actually compatible with a ZIP file. So, you can create a VSIX just by starting with a ZIP file.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Create a new ZIP file in the Windows Explorer by &lt;B style="mso-bidi-font-weight: normal"&gt;right clicking&lt;/B&gt; on a folder and &lt;B style="mso-bidi-font-weight: normal"&gt;selecting New&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;Compressed (zipped) Folder&lt;/B&gt;. Name it to the extension name you desire.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Copy in the contents that you want in your extension zip file: the icon, the preview image, the Item folder, and the zipped up template (under that folder).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9712586/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9712586/original.aspx"&gt;&lt;IMG style="WIDTH: 500px; HEIGHT: 349px" height=349 src="http://blogs.msdn.com/photos/pedrosilva/images/9712586/500x349.aspx" width=500 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9712586/500x349.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Now, you need to create an &lt;SPAN style="COLOR: #c00000"&gt;extension.vsixmanifest&lt;/SPAN&gt; file at the root of the ZIP file. This is an XML file that describes your extension… the data that you want to publish about it, and what components make up your extension. In the previous steps, we’ve used GUI editors to edit this file, but you can just create the raw XML as well. For the AboutBox template that we’ve been working with, the following XML will be needed:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;xml&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;version&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;1.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;encoding&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;utf-8&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;?&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VSIX&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://schemas.microsoft.com/developer/vsx-schema/2010&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;xmlns:xsi&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2000/10/XMLSchema-instance&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Identifier&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;WpfAboutBox.CS&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;WPF About Box (CS)&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Author&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Pedro Silva&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Author&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Version&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;0.4&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Version&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Description&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Every application has an AboutBox, but there isn't a common one for WPF Applications... until now. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Create an AboutBox for a WPF Application. Use assembly attributes in your project or XML data in your resources &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;to control what data is displayed in the dialog.&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Locale&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;1033&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Locale&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Icon&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;WpfAboutIcon.png&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Icon&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;PreviewImage&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;WpfAboutPreview.png&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;PreviewImage&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SupportedVSEdition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;version&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;10.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Pro&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VCSExpress&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VST_All&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Edition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SupportedVSEdition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;SupportedFrameworkRuntimeEdition&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;minversion&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;4.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;maxversion&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;4.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Identifier&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;References&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Item&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;VSIX&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;As you can see, the XML for this extension is fairly concise, and the &lt;B style="mso-bidi-font-weight: normal"&gt;Elements&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;Attributes&lt;/B&gt; map pretty cleanly to the UI you’ve seen earlier. Also, in Visual Studio 10, we are shipping the XSD for the manifest, so you will get intellisense when you edit a file of this type. I’m not going to go into each entry in the XML, you can look at the schema or Help documentation, if you’d like to know exactly what everything does.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Then, you need to create a special file called &lt;SPAN style="COLOR: #c00000"&gt;[Content_Types].xml&lt;/SPAN&gt;, that’s used by the packaging API. This file is always the same for templates, so feel free to duplicate the XML below in your template extensions. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -12pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;FONT color=#0000ff&gt;&lt;SPAN class=m1&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN class=pi1&gt;xml version="1.0" encoding="utf-8" &lt;/SPAN&gt;&lt;SPAN class=m1&gt;?&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="file:///C:/Users/pedrosi.REDMOND/AppData/Local/Temp/Temp1_WPF%20AboutBox%20(CS).zip/[Content_Types].xml"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;FONT color=#0000ff&gt;-&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Types&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=ns1&gt;&lt;FONT color=#ff0000&gt; xmlns&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="COLOR: red"&gt;http://schemas.openxmlformats.org/package/2006/content-types&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=m1&gt;"&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -24pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Default&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Extension&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;vsixmanifest&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; ContentType&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;text/xml&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -24pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Default&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Extension&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;zip&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; ContentType&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;application/octet-stream&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -24pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Default&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Extension&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;ico&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; ContentType&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;application/octet-stream&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -24pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Default&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Extension&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;png&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; ContentType&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;application/octet-stream&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: -12pt"&gt;&lt;SPAN class=b1&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#ff0000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'"&gt; &lt;SPAN style="mso-tab-count: 1"&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Types&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=m1&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;Finally, just rename you &lt;SPAN style="COLOR: #c00000"&gt;NewExtension.zip&lt;/SPAN&gt; file to &lt;SPAN style="COLOR: #c00000"&gt;NewExtension.vsix&lt;/SPAN&gt;… and voila you now have a packaged up VSIX extension. Double clicking it will go through the local installation process, or you can now upload it to the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT size=3&gt;VS Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;. This is quite a bit of manual intervention, and has the possibility for errors in the &lt;SPAN style="COLOR: #c00000"&gt;extension.vsixmanifest&lt;/SPAN&gt; and &lt;SPAN style="COLOR: #c00000"&gt;[Content_Types].xml&lt;/SPAN&gt; files. But, the cool thing is that you could do it by hand if you had to.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;I hope you enjoyed these alternatives for creating VSIX packages. These were shown for creating templates in particular, but the same principles hold for all new Visual Studio 10 extension types. And, with subsequent Beta and RTM releases of the product and SDK, I’m hoping that these posts won’t even be needed in the near future. &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9712600" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Creating an Item Template Extension (Part 3)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/07/creating-an-item-template-extension-part-3.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/07/creating-an-item-template-extension-part-3.aspx</id><published>2009-06-07T23:22:00Z</published><updated>2009-06-07T23:22:00Z</updated><content type="html">&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The VSIX file we created in &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Part 2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; is the new unit of deployment for extension in Visual Studio 2010. VS knows how to install these types of extensions, and the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT size=3 face=Calibri&gt;VS Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; is a place where you can host them. Also, the contents of the Gallery are then discoverable from within Visual Studio.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#4f81bd size=4 face=Cambria&gt;Step 6 – Publishing Your Extension&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;To publish your extension, point your favorite web browser to: &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT size=3 face=Calibri&gt;www.visualstudiogallery.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. You must log into the site, using a &lt;/FONT&gt;&lt;A href="http://get.live.com/getlive/overview"&gt;&lt;FONT size=3 face=Calibri&gt;Windows Live ID&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. If you don’t have an ID, it’s easy to create one for a hotmail account. After you’ve logged in… near the top of the page, just below the main header, you’ll find a link to &lt;B style="mso-bidi-font-weight: normal"&gt;“My Contributions”&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;IMG src="http://blogs.msdn.com/photos/pedrosilva/images/9704869/original.aspx" mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9704869/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Click&lt;/B&gt; that link, and it will bring you to a page that lists all of the extensions that you have posted to the Gallery.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;On the right side of that page, you will see an &lt;B style="mso-bidi-font-weight: normal"&gt;Upload&lt;/B&gt; button. &lt;B style="mso-bidi-font-weight: normal"&gt;Click&lt;/B&gt; that button to begin the upload process… &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;IMG style="WIDTH: 529px; HEIGHT: 315px" src="http://blogs.msdn.com/photos/pedrosilva/images/9704870/original.aspx" width=529 height=315 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9704870/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;First, select the extension type that we’re posting. In this case it’s the &lt;B style="mso-bidi-font-weight: normal"&gt;Project or Item Template&lt;/B&gt; entry. &lt;B style="mso-bidi-font-weight: normal"&gt;Control&lt;/B&gt; is used to designate toolbox controls. And, everything else is a &lt;B style="mso-bidi-font-weight: normal"&gt;Tool&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;IMG style="WIDTH: 646px; HEIGHT: 163px" src="http://blogs.msdn.com/photos/pedrosilva/images/9704872/original.aspx" width=646 height=163 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9704872/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Then, enter the path to the VSIX file that you want to upload. The &lt;B style="mso-bidi-font-weight: normal"&gt;Browse&lt;/B&gt; button brings up a &lt;B style="mso-bidi-font-weight: normal"&gt;File Open&lt;/B&gt; dialog to help locate your VSIX file. There is validation performed on the VSIX file you’re about to upload. If there are errors in your VSIX metadata file, you will get error messages when you click the &lt;B style="mso-bidi-font-weight: normal"&gt;Next&lt;/B&gt; button.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9704874/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9704874/original.aspx"&gt;&lt;IMG style="WIDTH: 450px; HEIGHT: 375px" src="http://blogs.msdn.com/photos/pedrosilva/images/9704874/450x375.aspx" width=450 height=375 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9704874/450x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The fields on the left (&lt;B style="mso-bidi-font-weight: normal"&gt;Title&lt;/B&gt;, &lt;B style="mso-bidi-font-weight: normal"&gt;Summary&lt;/B&gt;, &lt;B style="mso-bidi-font-weight: normal"&gt;Version&lt;/B&gt;, &lt;B style="mso-bidi-font-weight: normal"&gt;Thumbnail&lt;/B&gt;, etc) are retrieved from you VSIX manifest file and populated on this page (if you want to change those, you need to go back and edit the VSIX manifest for your extension). You need to fill in the rest:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Category:&lt;/B&gt; corresponds to the categorization scheme on the Gallery. This is WPF template, so we only selected that one.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Tags:&lt;/B&gt; you can tag your extension with additional keywords. These keyword tags are used during &lt;B style="mso-bidi-font-weight: normal"&gt;Search&lt;/B&gt;, so they may make finding your extension easier.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Cost Category:&lt;/B&gt; This can be either Free, Free Trial, or Paid. (&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; Paid can only really be used with Reference Links… there is no mechanism for paid extensions hosted on the Gallery).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Description:&lt;/B&gt; this is a free form field where you can be as descriptive as you’d like about your extension. This description is only shown on the website. In the Extension Manager, you only ever see the &lt;B style="mso-bidi-font-weight: normal"&gt;Summary&lt;/B&gt; of your extension.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Once you are done entering your extension information, &lt;B style="mso-bidi-font-weight: normal"&gt;read&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;check&lt;/B&gt; the “I Agree to the Contribution Agreement” checkbox. Then, you can click the &lt;B style="mso-bidi-font-weight: normal"&gt;Create Contribution&lt;/B&gt; button. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;When you return to the &lt;B style="mso-bidi-font-weight: normal"&gt;Contributions&lt;/B&gt; page, you will now see your new extension listed there…&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;IMG style="WIDTH: 982px; HEIGHT: 309px" src="http://blogs.msdn.com/photos/pedrosilva/images/9704876/original.aspx" width=982 height=309 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9704876/original.aspx"&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;You’ll also notice that each extension has links to &lt;B style="mso-bidi-font-weight: normal"&gt;edit&lt;/B&gt; them again (you can update your description and tags as much as you’d like), and &lt;B style="mso-bidi-font-weight: normal"&gt;unpublish&lt;/B&gt; or &lt;B style="mso-bidi-font-weight: normal"&gt;delete&lt;/B&gt; (if you do not want your extension on the Gallery any longer). Plus, &lt;B style="mso-bidi-font-weight: normal"&gt;Stats&lt;/B&gt; lets you see how many times your extension has been downloaded.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; If you make updates to your extension, you need to come back to this &lt;B style="mso-bidi-font-weight: normal"&gt;Contributions&lt;/B&gt; page and select &lt;B style="mso-bidi-font-weight: normal"&gt;Edit&lt;/B&gt;, to upload a new version of the extension. Please be sure that the extension has a new version number, so the Extension Manager will know it’s an update.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#4f81bd size=4 face=Cambria&gt;Conclusions&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;These posts have given you the nitty-gritty details for preparing and publishing a template for Visual Studio 2010. Unfortunately for Beta 1, the process for templates is a little bit cumbersome because it wasn’t the focus of the tools we built into the &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d197feb6-ced5-40d4-949d-a51f02309ee8&amp;amp;displaylang=en"&gt;&lt;FONT size=3 face=Calibri&gt;Visual Studio SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. But running through these steps as I was working on these posts has made that quite obvious to me and a few other folks. So, we are looking at a few things that will make this process a whole lot easier for Beta 2.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;But, I’m really looking forward to people following these steps, and producing lots of new templates for all Visual Studio developers to use.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Finally, the SDK tools for building packages, tool windows, and editor extensions have really streamlined this process. The project templates we have to build packages and editor extensions, automatically build a packaged up VSIX file every time you build your extension, so all you really have to do is build the extension and upload the VSIX file in its output directory. And, there is a VSIX manifest editor that lets you easily edit all of the metadata about your extension. So, give those tools a try for you non-template extensions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9704931" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Creating an Item Template Extension (Part 2) </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx</id><published>2009-06-05T06:58:00Z</published><updated>2009-06-05T06:58:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now, that we have a zipped up item template (from &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/pedrosilva/archive/2009/06/03/creating-an-item-template-extension-part-1.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Part 1&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;), how do we get this thing ready for the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT face=Calibri size=3&gt;VS Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;? All uploads hosted on the Gallery need to be VSIX files. I’m not going to talk much today about the file format (that is a full topic of its own), but you can read some about it on &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/quanto/archive/2009/05/26/what-is-a-vsix.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Quan’s blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;. Just suffice it to say it’s a compound file (&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/magazine/cc163372.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;OPC package&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;) that can contain any number of files within it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Wouldn’t it be nice to have something that let you view and create the contents of a VSIX file… well, luckily, there’s an extension for that. &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; Gearard and Mariano (a QA and dev from our team) created the &lt;A class="" href="http://visualstudiogallery.msdn.microsoft.com/en-us/e3d76792-d1b3-4d0c-9716-1f16c38be8b3" mce_href="http://visualstudiogallery.msdn.microsoft.com/en-us/e3d76792-d1b3-4d0c-9716-1f16c38be8b3"&gt;VSIXExplorer&lt;/A&gt; to allow users to view and edit the VSIX files that we work with.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;From the Extension Manager (found under &lt;B style="mso-bidi-font-weight: normal"&gt;Tools&lt;/B&gt; menu &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;Extension Manager&lt;/B&gt;) go online, find, and install the VSIXExplorer. This little tool lets you view and edit the contents of a VSIX file. Launch it from &lt;B style="mso-bidi-font-weight: normal"&gt;Tools&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;VSIXExplorer&lt;/B&gt;. This tool is still very much under development, so it’s still a little rough around the edges, but you can expect additional updates as we flesh it out. &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;Step 3 – Creating a VSIX File&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;First, start the VSIXExplorer, and select &lt;B style="mso-bidi-font-weight: normal"&gt;File&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;New&lt;/B&gt; to create a new empty VSIX file. It will ask you to select a name for the VSIX file right away. And, as you’re editing the internal structure, changes are being made directly to the VSIX file. Notice that it shows the VSIX file as the root of the treeview (in this case our “WPF AboutBox (CS).vsix”), and a single &lt;SPAN style="COLOR: #c0504d; mso-themecolor: accent2"&gt;extension.vsixmanifest&lt;/SPAN&gt; file in it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG style="WIDTH: 212px; HEIGHT: 82px" height=82 src="http://blogs.msdn.com/photos/pedrosilva/images/9699827/original.aspx" width=212 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699827/original.aspx"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;First step is to add some other elements to this file. You can either:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Drag and drop files from the Windows Explorer to the VSIXExplorer, dropping onto the root VSIX node.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Or, right click on the root node and select &lt;B style="mso-bidi-font-weight: normal"&gt;Add&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;Existing File&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&lt;IMG style="WIDTH: 398px; HEIGHT: 177px" height=177 src="http://blogs.msdn.com/photos/pedrosilva/images/9699837/original.aspx" width=398 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699837/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;For templates, you should add icon and preview images (using either method above – though I had better luck with the context menu). And, templates have an extra requirement of the template being inside a subfolder. I’m not going to go into the dirty details of why, but it’s a requirement of the current template engine that we could not change for VS 2010. So, in my example, I created an “Item” folder (using &lt;B style="mso-bidi-font-weight: normal"&gt;Add&lt;/B&gt; &amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;New Folder&lt;/B&gt;). Then place the template zip file in that folder. This is all of the structure and files you need for a template extension.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; This template will appear in the C# (or VB) general tab of the New Item dialog. That dialog has a tree with more specific categories, like Web, Windows Forms, and WPF. If you wanted your template to show up only in the WPF category, you can do this by making the folder structure in the VSIX file (ex: Item\WPF would show your template when the WPF category is selected). One drawback is that it would only show up in a single category, so for my sample, I decided to keep it at the root.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;Step 4 – Editing the VSIX Manifest&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;When you select the &lt;SPAN style="COLOR: #c0504d; mso-themecolor: accent2"&gt;extension.vsixmanifest&lt;/SPAN&gt; node in the treeview, you will see a set of property pages that allow you to edit the manifest.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699842/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699842/original.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699820/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699820/original.aspx"&gt;&lt;IMG style="WIDTH: 452px; HEIGHT: 375px" height=375 src="http://blogs.msdn.com/photos/pedrosilva/images/9699820/452x375.aspx" width=452 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699820/452x375.aspx"&gt;&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The interesting properties on this tab are ID and Version. Be sure that the ID is unique, this is used by the Extension Manager and Gallery as the unique identifier of your extension. Duplicates are not allowed on the Gallery, and you will be warned when you upload your extension. Also, version is important for updates. If you change your extension, you should increment the Version number. That way, if a user already has installed your previous extension, they will see that you have published an update and can install the latest version. Name (display name of your extension), Author (your personal or company name), and Description are self explanatory… The other fields, we’ll skip for our template.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I’m also skipping the License tab completely, because I don’t provide a EULA for templates. They are only needed for other types of extensions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699842/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699842/original.aspx"&gt;&lt;IMG style="WIDTH: 452px; HEIGHT: 375px" height=375 src="http://blogs.msdn.com/photos/pedrosilva/images/9699842/452x375.aspx" width=452 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699842/452x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The VS Support tab allows you to say where this extension is allowed to install. For framework version, we’re saying that our template should be used with .NET runtime 4.0. Then, the VS Editions can target a version (10.0 in our case) and a set of SKUs. Select a SKU from the dropdown list and click the &lt;B style="mso-bidi-font-weight: normal"&gt;Add&lt;/B&gt; button. As you can see from the figure above, this template is allowed in VS Pro, all of the VSTS SKUs, and in C# Express. &lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; The only valid extensions for Express SKUs are templates.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699851/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699851/original.aspx"&gt;&lt;IMG style="WIDTH: 452px; HEIGHT: 375px" height=375 src="http://blogs.msdn.com/photos/pedrosilva/images/9699851/452x375.aspx" width=452 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699851/452x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The Images tab allows you to point at the icon and preview files that we packaged into this VSIX file. Currently you need to type the names into the textboxes to match the items in the VSIX file, the &lt;B style="mso-bidi-font-weight: normal"&gt;Browse&lt;/B&gt; buttons aren’t connected (as I said earlier, the VSIXExplorer is a work in progress). &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Unfortunately, for templates we duplicate these images in the VSIX file and in the template file. Other extension types don’t already have their own images embedded, so this is only a problem with templates.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And, the References tab is unnecessary for this example.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699852/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699852/original.aspx"&gt;&lt;IMG style="WIDTH: 452px; HEIGHT: 375px" height=375 src="http://blogs.msdn.com/photos/pedrosilva/images/9699852/452x375.aspx" width=452 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699852/452x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The one remaining step is to link the template content into the manifest. For this, you need to edit the XML by hand. Just click on the XML tab at the bottom-center of the VSIXExplorer window. You can see that all of the data we changed in the tool has been reflected here. To add the template content, just place the following in the XML: &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #c00000"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #c00000"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;gt;&lt;/SPAN&gt;Item&lt;SPAN style="COLOR: #0070c0"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #c00000"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #c00000"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0070c0"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;In this snippet, &amp;lt;ItemTemplate&amp;gt; is the type of extension that we’re creating (substitute this with &amp;lt;ProjectTemplate&amp;gt; for project templates; otherwise the rest is applicable to both types). And, Item is the folder name within our VSIX. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;You can then switch back to the Design mode, and look in the Contents tab:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9699853/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9699853/original.aspx"&gt;&lt;IMG style="WIDTH: 452px; HEIGHT: 375px" height=375 src="http://blogs.msdn.com/photos/pedrosilva/images/9699853/452x375.aspx" width=452 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9699853/452x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This shows you what we just edited. At this point this tab is read-only, but Gearard is working on making this editable, so that there will be no need to drop into XML view to do this final step. He tells me an update for this will be ready “any day now.”&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The final step is to be sure to click the &lt;B style="mso-bidi-font-weight: normal"&gt;Apply Changes&lt;/B&gt; button in the lower right corner of the window. This saves the changes to the &lt;SPAN style="COLOR: #c0504d; mso-themecolor: accent2"&gt;extension.vsixmanifest&lt;/SPAN&gt; file. This is very important to do, or you changes will not be persisted when you close the VSIXExplorer. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;At this point you have a packaged up extension that’s ready to be used.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#4f81bd size=4&gt;Step 5 – Testing your Extension&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;It’s pretty easy to test your extension. Just double-click on the VSIX file you just created. This will launch our installer (only on a machine that has Visual Studio 2010 installed on it). Just click the &lt;B style="mso-bidi-font-weight: normal"&gt;Install&lt;/B&gt; button when the UI pops up and wait for it to complete. The template is now recognized by Visual Studio, so start up an instance of VS with a WPF application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Launch the Add New Item dialog and note that the WPF AboutBox now appears on your list of installed templates. Launch the Extension Manager and see that the WPF AboutBox (C#) extension is installed. And, you can uninstall it at this point as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Wasn’t that fun? &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Our packaged extension is ready to upload to the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT face=Calibri size=3&gt;VS Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;. I’ll go through the upload process in my next post.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9700748" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Creating an Item Template Extension (Part 1)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/03/creating-an-item-template-extension-part-1.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/03/creating-an-item-template-extension-part-1.aspx</id><published>2009-06-04T02:42:00Z</published><updated>2009-06-04T02:42:00Z</updated><content type="html">&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;I’ve put together a &lt;/FONT&gt;&lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/040c0484-8176-4b53-98d6-aaba136d00e4"&gt;&lt;FONT size=3 face=Calibri&gt;WPF AboutBox item template&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; and released it on the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT size=3 face=Calibri&gt;Visual Studio Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. It’s published there so that you can download, install, and use it through the Extension Manager and New Item dialog in Visual Studio 2010 Beta 1. Now, I’m going to go through the process, so that you can see how it’s done, and hopefully entice some of you out there to create your own templates to share with the world.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#4f81bd size=4 face=Cambria&gt;Step 1 – Creating an Item Template&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;First thing first, you need to have some code that you want to create into a template… perhaps some code that you use all the time (for me this was an AboutBox for WPF applications). Once you’ve written and test the code (yes, testing it is important, remember everyone is going to put this code into their application &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;), you are ready to export it as a template.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There’s a well hidden feature in Visual Studio under the &lt;B style="mso-bidi-font-weight: normal"&gt;File&lt;/B&gt; menu, called &lt;B style="mso-bidi-font-weight: normal"&gt;“Export Template…”&lt;/B&gt; This launches a wizard to help you create a template from your current solution.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9691955/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9691955/original.aspx"&gt;&lt;IMG style="WIDTH: 476px; HEIGHT: 375px" src="http://blogs.msdn.com/photos/pedrosilva/images/9691955/476x375.aspx" width=476 height=375 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9691955/476x375.aspx"&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This page lets you pick from an Item or Project template, and the project to use in your template. Item templates are a single file and any of their dependent files. They get shown in the “Add New Item” dialog. And, you can create multiple instances of them in one project. Project templates wrap up a whole project with all of the contents of the project you select. They get shown in the “New Project” dialog. And, you can add multiple projects into a solution. &lt;STRONG&gt;Note:&lt;/STRONG&gt; In Beta 1, we only support putting a single project into the template (through the Export Template Wizard or by hand-editing the .vstemplate file, and upload it&amp;nbsp;to the VS Gallery).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;After selecting Item Template and the project (WpfAboutBox), click the &lt;B style="mso-bidi-font-weight: normal"&gt;Next&lt;/B&gt; button.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9691960/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9691960/original.aspx"&gt;&lt;IMG style="WIDTH: 476px; HEIGHT: 375px" src="http://blogs.msdn.com/photos/pedrosilva/images/9691960/476x375.aspx" width=476 height=375 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9691960/476x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Select the file that you wish to export. The wizard wraps up the file and its dependents. So, this example, you select the AboutBox.xaml file, and it also includes the code-behind file, AboutBox.xaml.cs. You can only select one file to export for an item template. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Click &lt;B style="mso-bidi-font-weight: normal"&gt;Next&lt;/B&gt; to proceed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9691966/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9691966/original.aspx"&gt;&lt;IMG style="WIDTH: 476px; HEIGHT: 375px" src="http://blogs.msdn.com/photos/pedrosilva/images/9691966/476x375.aspx" width=476 height=375 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9691966/476x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Now the wizard asks for the references your template will need. The items you select here will become references in the project where you use the template. Be sure to only select the references that are needed only for the file that you are exporting… or you will create unnecessary references in the target project.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Once you have &lt;B style="mso-bidi-font-weight: normal"&gt;selected&lt;/B&gt; all of the references you need, click &lt;B style="mso-bidi-font-weight: normal"&gt;Next&lt;/B&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/pedrosilva/images/9691974/original.aspx" mce_href="http://blogs.msdn.com/photos/pedrosilva/images/9691974/original.aspx"&gt;&lt;IMG style="WIDTH: 478px; HEIGHT: 375px" src="http://blogs.msdn.com/photos/pedrosilva/images/9691974/478x375.aspx" width=478 height=375 mce_src="http://blogs.msdn.com/photos/pedrosilva/images/9691974/478x375.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Fill in the metadata about your template. You have the opportunity to &lt;B style="mso-bidi-font-weight: normal"&gt;name&lt;/B&gt; the template and provide a short &lt;B style="mso-bidi-font-weight: normal"&gt;description&lt;/B&gt; that will be shown in the New Item/Project dialog. As well as an &lt;B style="mso-bidi-font-weight: normal"&gt;icon&lt;/B&gt; and a &lt;B style="mso-bidi-font-weight: normal"&gt;preview&lt;/B&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;image&lt;/B&gt; for the template… while these are optional, I recommend providing them otherwise you get defaults in the New Item/Project dialog, and that won’t look like a finished extension.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Once you’ve filled in all of the data, click the &lt;B style="mso-bidi-font-weight: normal"&gt;Finish&lt;/B&gt; button.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There you are! You now have an item template in your “My Documents” folder under “Visual Studio 10\My Exported Templates”. You can even run the Add New Item dialog in Visual Studio and this template will show up for C# code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; Item templates are a little more complicated than project templates. For a project template, wizard steps 2 &amp;amp; 3 above are skipped, and you go straight to the metadata collection page.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;More Info:&lt;/B&gt; If you’d like more detailed information about how to create item and project templates, please read: &lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/s365byhx(VS.80).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Creating Project and Item Templates&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#4f81bd size=4 face=Cambria&gt;Step 2 – A Little Template Cleanup&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Ideally, we’d be done with our item template. But, there were a couple of little complications that required editing the template file by hand. Luckily the template is just a zip file, so you can look into its contents, and edit the MyTemplate.vstemplate file. This file is an XML file that describes the makeup of your template. If you edit the file in VS, you get intellisense from its schema. So, I made three small but important changes to the file:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TemplateData&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;DefaultName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;WpfAboutBox.xaml&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DefaultName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;WPF AboutBox&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;Description&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;Creates an AboutBox for a WPF application&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ProjectType&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;CSharp&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ProjectType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;SortOrder&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;10&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SortOrder&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;Icon&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;__TemplateIcon.ico&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Icon&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;TemplateGroupID&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"&gt;WPF&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;TemplateGroupID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TemplateData&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;a)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Changed the &lt;B style="mso-bidi-font-weight: normal"&gt;Name&lt;/B&gt; of the template to include a space… This is the display name in the New Item dialog and looks better with a space. Unfortunately, the name you input for you template is used both for the DefaultName and the &lt;B style="mso-bidi-font-weight: normal"&gt;Name&lt;/B&gt; in the .vstemplate file, so you can’t use different ones for each without editing the file by hand.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;b)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Added the &lt;/FONT&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TemplateGroupID&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;WPF&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;TemplateGroupID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;line to the &lt;B style="mso-bidi-font-weight: normal"&gt;TemplateData&lt;/B&gt; section. This isn’t obvious why, but there’s an issue in the filtering of templates in the New Item dialog when it’s looking online. If the template group is not defined, then you template might not show up correctly, especially for areas that filter, like WPF… trust me, you should do this. I spent quite a few hours tracking down what was going on here.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;c)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Added the AboutLogo.png file as payload to be unfolded with the template. First, I added that image file to the .zip file contents. Then, put in the following XML segment with the other &lt;B style="mso-bidi-font-weight: normal"&gt;ProjectItem&lt;/B&gt; defintions: &lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ProjectItem&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;SubType&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;=&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;"&lt;SPAN style="COLOR: blue"&gt;Image&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;TargetFileName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;AboutLogo.png&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;ReplaceParameters&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;AboutLogo.png&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ProjectItem&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;This ensures that the image file will be copied into the target project, and that it will not be renamed, and no token replacement will be attempted for this file (it’s an image file, no need for token replacement).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;More Info:&lt;/B&gt; If you’d like to read more about the format of the .vstemplate file, read this &lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms247113(VS.80).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;topic&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There you have it… an item template that is now ready to be shared with the world. In my &lt;A href="http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx" mce_href="http://blogs.msdn.com/pedrosilva/archive/2009/06/04/creating-an-item-template-extension-part-2.aspx"&gt;next post&lt;/A&gt;, I’ll go through the steps of packaging this template up as an extension that can be uploaded to the &lt;/FONT&gt;&lt;A href="http://www.visualstudiogallery.com/"&gt;&lt;FONT size=3 face=Calibri&gt;VS Gallery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; and installed through the Extension Manager.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9695348" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Quick Tutorial on Building Extensions with the VS SDK</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/pedrosilva/archive/2009/06/02/quick-tutorial-on-building-extensions-with-the-vs-sdk.aspx" /><id>http://blogs.msdn.com/pedrosilva/archive/2009/06/02/quick-tutorial-on-building-extensions-with-the-vs-sdk.aspx</id><published>2009-06-03T01:59:00Z</published><updated>2009-06-03T01:59:00Z</updated><content type="html">&lt;P&gt;It's pretty cool when you General Manager is out working with the bits you just released. Jason just released a &lt;A class="" href="http://blogs.msdn.com/jasonz/archive/2009/06/01/visual-studio-2010-sdk-beta-1-is-now-live.aspx" mce_href="http://blogs.msdn.com/jasonz/archive/2009/06/01/visual-studio-2010-sdk-beta-1-is-now-live.aspx"&gt;quick tutorial on how to create an editor extension using the&amp;nbsp;VS SDK&lt;/A&gt;. Check out the steps he went through to create, build, test, and deploy a simple editor extension. &lt;/P&gt;
&lt;P&gt;With these tools in place, we're hoping to see all sort of interesting extensions to VS that even we've never thought of. :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9687734" width="1" height="1"&gt;</content><author><name>PedroSilva</name><uri>http://blogs.msdn.com/members/PedroSilva.aspx</uri></author><category term="VSX" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/VSX/default.aspx" /><category term="Visual Studio SDK" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio+SDK/default.aspx" /><category term="Links" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Links/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/pedrosilva/archive/tags/Visual+Studio/default.aspx" /></entry></feed>