Partially Custom Project System Hi, <br><br>I've created a package in 2008 to convert my existing project templates into a custom project system, but the problem that I'm having is that I don't want to have a <em>completely </em>custom system.  I just can't figure out how to simply extend the existing project types.<br><br>In other words, I've added the ProjectBase files, created a project factory, a project node and also added ProvideProjectFactoryAttribute to my package, but it's creating much more functionality than what I want.<br><br>Currently my tool provides four zipped templates (non-VS Package): C# Class Library, VB Class Library, C# Web App, VB Web App.  What I'd like to do is create my own custom project system on top of these base project types so that the two C# templates use the same file extension (.csdoc) and the two VB templates use the same file extension (.vbdoc).  I want the C# templates to appear under <strong>Visual C# </strong>&gt; <strong>DocProject </strong>in the New Project dialog instead of having <strong>DocProject </strong>as a root node - and similar for the VB templates.  Also, if I add four different ProvideProjectFactoryAttributes to the package for each template then I have to provide four different file extensions, which is what I don't want.<br><br>Can anyone give me some pointers?<br><br>Thanks, <br>Dave <hr align=left width="25%" size=1> http://davesexton.com/blog© 2009 Microsoft Corporation. All rights reserved.Fri, 24 Apr 2009 21:15:39 Zf363c682-4792-4af7-b7ed-cc5e628214c2http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#f363c682-4792-4af7-b7ed-cc5e628214c2http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#f363c682-4792-4af7-b7ed-cc5e628214c2Dave Sextonhttp://social.msdn.microsoft.com/Profile/en-US/?user=Dave%20SextonPartially Custom Project System Hi, <br><br>I've created a package in 2008 to convert my existing project templates into a custom project system, but the problem that I'm having is that I don't want to have a <em>completely </em>custom system.  I just can't figure out how to simply extend the existing project types.<br><br>In other words, I've added the ProjectBase files, created a project factory, a project node and also added ProvideProjectFactoryAttribute to my package, but it's creating much more functionality than what I want.<br><br>Currently my tool provides four zipped templates (non-VS Package): C# Class Library, VB Class Library, C# Web App, VB Web App.  What I'd like to do is create my own custom project system on top of these base project types so that the two C# templates use the same file extension (.csdoc) and the two VB templates use the same file extension (.vbdoc).  I want the C# templates to appear under <strong>Visual C# </strong>&gt; <strong>DocProject </strong>in the New Project dialog instead of having <strong>DocProject </strong>as a root node - and similar for the VB templates.  Also, if I add four different ProvideProjectFactoryAttributes to the package for each template then I have to provide four different file extensions, which is what I don't want.<br><br>Can anyone give me some pointers?<br><br>Thanks, <br>Dave <hr align=left width="25%" size=1> http://davesexton.com/blogWed, 18 Jun 2008 06:08:26 Z2008-06-18T06:08:58Zhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#bd2b2c15-8f04-4b85-b65d-2bf3a53a58dahttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#bd2b2c15-8f04-4b85-b65d-2bf3a53a58daDave Sextonhttp://social.msdn.microsoft.com/Profile/en-US/?user=Dave%20SextonPartially Custom Project System Hi, <br><br>So basically there's lots of samples on how to create a custom project system, but what I want to do is extend the C# and VB.NET project systems by simply providing a new project file that adds some additional MSBuild information, which is what I'm currently doing, but also with the ability to create folders with special semantics in the hierarchy, like the <strong>Properties </strong>folder for example.  Will the <strong>ProjectBase </strong>code help or must I roll my own solution?<br><br>I also would like information on how to support custom project sub types (I think that's what I need).  For example, the<strong> .csproj</strong> extension is associated with both the C# <strong>Class Library</strong> and the C# <strong>Web Application </strong>templates.  My tool provides two templates that build on the functionality of class libraries and web applications, so my custom extension (<strong>.csdoc</strong>) must also use the same project system with support for these sub types.  Will the <strong>ProjectBase </strong>code help or must I roll my own solution?<br><br>It's not clear to me how I can use the <strong>ProvideProjectFactoryAttribute</strong>, or some other mechanism, so that my project templates appear under a sub node of the <strong>Visual C#</strong> node instead of in a custom root node.  Some pointers on this would be great as well.  Currently it's just a matter of copying my zipped templates to the appropriate folder during installation, but I'd like to know if MPF supports this for my new project system.<br><br>Thanks, <br>Dave<hr size="1" align="left" width="25%">http://davesexton.com/blogThu, 19 Jun 2008 08:25:49 Z2008-06-19T08:25:49Zhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#2a3b20a8-d3f9-478a-bb54-94783a83a1bfhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#2a3b20a8-d3f9-478a-bb54-94783a83a1bfFeng Chenhttp://social.msdn.microsoft.com/Profile/en-US/?user=Feng%20ChenPartially Custom Project System<i><b>I also would like information on how to support custom project sub types (I think that's what I need).</b></i><br>Yes, you're completely right about this, the Project sub types should be your start point,  And I'd like to provide the following references about this issue:<span class=linkTerms><br><a id="ctl00_rs1_mainContentContainer_ctl01" href="http://msdn.microsoft.com/en-us/library/bb165341(VS.80).aspx">Project Subtypes Design</a><br><a href="http://weblogs.asp.net/rgillen/archive/2006/06/15/VS-2005-Project-Subtypes.aspx">VS 2005 Project Subtypes</a></span><br><a href="http://msdn.microsoft.com/en-us/library/bb165055(VS.80).aspx">Project Subtype Sample</a> - A sample of Project Subtype created based on MPF.<br><br>Hope this helps!<br><br>Thanks!<br><br><br><br><hr size="1" align="left" width="25%">Please remember to mark the replies as answers if they help and unmark them if they provide no help.Fri, 20 Jun 2008 08:46:55 Z2008-06-20T08:46:55Zhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#69c77a05-5e34-4eab-bb6d-7e0e0a3a10a7http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#69c77a05-5e34-4eab-bb6d-7e0e0a3a10a7Dave Sextonhttp://social.msdn.microsoft.com/Profile/en-US/?user=Dave%20SextonPartially Custom Project System Thanks for the links, I think they're exactly what I needed.<br><br>- Dave<hr size="1" align="left" width="25%">http://davesexton.com/blogFri, 20 Jun 2008 09:22:37 Z2008-06-20T09:22:37Zhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#767aa6e3-1ee8-4cbd-9a41-b1d42b1d07fbhttp://social.msdn.microsoft.com/Forums/en-US/vsx/thread/f363c682-4792-4af7-b7ed-cc5e628214c2#767aa6e3-1ee8-4cbd-9a41-b1d42b1d07fbJohn Hollidayhttp://social.msdn.microsoft.com/Profile/en-US/?user=John%20HollidayPartially Custom Project SystemHow does this work in VS2008?  Looking through the MPF source (mpfproj-22415.zip), there is no FlavoredProjectBase.  However, this class does exist in the Microsoft.VisualStudio.Shell.9.0 assembly.  Is this the same as the VS2005 SDK version?  <div><br></div><div>The documentation links you provided are the standard VS2005 docs, and they are very difficult to understand.  Is there a document that explains the precise relationships that must exist in order for a project subtype to work correctly?  I'm not talking about the low-level COM relationships.  I'm talking about the process for building a managed code project subtype using the MPF.</div><div><br></div><div><span class=Apple-style-span style="font-style:italic">NOTE: Since the project subtype sample only exists in the VS2005 SDK (not in the VS2008 SDK), it is necessary to download and install it just to get the sample code.  Installing the VS2005 and VS2008 SDKs on the same machine can cause problems, so the safe way is to do this in a separate VM.</span></div><div><br></div><div>Looking through the ProjectSubType sample does not help much to explain the required steps for building a flavored project using VS2008.  I'm making an assumption here that in order to setup a project subtype that extends a C# project, you have to add a &lt;ProjectTypeGuids/&gt; entry to the .csproj file and then include your custom project guid, followed by the C# project guid.  Is that right?  Is there any documentation that explains this key step and any other required steps?</div><div><br></div><div>Also, the ProjectSubType project file contains an entry for &lt;ProjectType&gt;Local&lt;/ProjectType&gt;.  What does this do?  Is it required for a flavored project?</div><div><br></div><div>Finally, although not used by the ProjectSubtype sample, the project file includes a &lt;ProjectExtensions&gt; section that presumably provides the project-specific configuration settings.  Is there any documentation for how to access these in an MPF project? It seems to have something to do with a custom XML fragment implementation, but the explanation is unclear.</div><div><br></div><div><br></div><hr size="1" align="left" width="25%">John Holliday, MVP Office SharePoint ServerFri, 03 Oct 2008 19:40:30 Z2008-10-03T19:40:30Z