.NET Forum / Visual Studio.NET / Enterprise Tools / December 2005
Multi-Project templates
|
|
Thread rating:  |
SkipV - 06 Dec 2005 18:09 GMT I am having problems setting up a new Multi-Project Template in the VS2005 IDE and am looking for some guidance.
Scenario: The application architecture of our system consist of 5 logical layers (Data Access, Entity, Domain Rules, UI Controller, and UI). Each logical layer of an application is derived from a base class for the logical layer (i.e. common UI code exists in the UI Base class, which each app's UI component should be a subclass of). And, of course, there are other framework components in the system that are commonly used by all logical layers (for instance common Delegate types, string utility functions, various interface declarations, etc.).
So, my primary goal for the template is to setup a basic solution structure for new applications that will include not only new projects for each logical layer, but to also include the existing common projects and to have the new logical layer projects reference those existing projects. (i.e. The new app's UIController project will always derive from the UIController base, so I want the template to include the UIController base and have the new app's UIController project reference the UIController base).
Question: How do I setup my root .vstemplate to include an existing project (that will exist in a relative path)?
I haven't been able to find this in any documentation, or sample templates. If anyone has a link they could share on including existing projects in the templates, that would be appreciated as well.
Thanks,
Skip V.
ps. I was able to easily accomplish this in VS2003's Enterprise Templates, I'm assuming that the ability exists in VS2005, I'm just not finding it.
"Gary Chang[MSFT]" - 07 Dec 2005 09:19 GMT Hi,
Currently we are looking into this problem. We will update you as soon as we get anything out.
Thanks for your understanding!
Best regards,
Gary Chang Microsoft Community Support -------------------- Get Secure! ¡§C www.microsoft.com/security Register to Access MSDN Managed Newsgroups! http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp &SD=msdn
This posting is provided "AS IS" with no warranties, and confers no rights.
"Gary Chang[MSFT]" - 09 Dec 2005 12:10 GMT Hi,
I suggest you may take a look on Guidance Automation Toolkit, which is an extension to Visual Studio 2005. It allows architects to author rich, integrated user experiences for reusable assets including frameworks, components and patterns.
The resulting Guidance Packages are composed of templates, wizards and recipes, you can accomplish your purpose by a custom action in a GAT recipe easily enough, along with any other new projects you want to add to the solution.
For the details about GAT, I suggest you refer to the following MSDN topic:
Guidance Automation Toolkit http://msdn.microsoft.com/vstudio/teamsystem/workshop/gat/default.aspx
Thanks for your understanding!
Best regards,
Gary Chang Microsoft Community Support -------------------- Get Secure! ¡§C www.microsoft.com/security Register to Access MSDN Managed Newsgroups! http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp &SD=msdn
This posting is provided "AS IS" with no warranties, and confers no rights.
SkipV - 09 Dec 2005 18:43 GMT Gary,
Thanks for looking into this for me, but this was not the response I was hoping for.
From my perspective, it is frustrating that I will have to rely upon what appears to be a community type project that is not available yet for the RTM version of Visual Studio 2005 to completely convert my system's source over to VS2005.
I had expected the new and improved template feature, which replaced the Enterprise Template feature in VS2003, to support at least all of the functionality of the older feature that was being replaced.
Granted, the VS2005 template feature does make it extremely easy to create a very simple template, but the cost of this niave design is proving to be high in productivity time for me and my team.
This marks the 3rd disappointment I've experienced (so far) with VS2005. #1 being: bloated compiled assemblies with VB.Net (the compiler emitting "My" namespace types into my assemblies, causing my small footprint assemblies to double in size in some cases). Problem resolved, but cost me 1 day. #2. Different runtime behavior between debugging in the IDE and running in release mode (the vshost type impersonating my types - we do some type checking at runtime to determine which code path to take). Problem resolved, but cost me the bulk of 1 day. #3. And now this new Template feature's inability to support existing projects. Including the time I've spent actually converting our existing ETP solutions over to the 2005's solutions (I had to convert each individual project and then manually reconstruct the solutions - as the 2005 Conversion Wizard would croak and leave out some nested projects when converting an ETP solution) has cost me a week and a half so far. I expect I'll have to spend a couple more weeks diving into this GAT when it becomes available for the VS2005 RTM.
I'm sorry for venting on you (I realize there were many teams involved in the designs of these new features that have caused me so much frustration), but I've gotta gripe at somebody:-).
Thanks again for checking this out.
Skip V.
ps. What I was hoping for something simple like "Oh you need to use the <AmbiguouslyNamedElement> in your root .vstemplate to reference an existing project." That would've saved me a bit of grief and more importantly, quite a bit of productivity time.
> Hi, > [quoted text clipped - 26 lines] > > This posting is provided "AS IS" with no warranties, and confers no rights. "Gary Chang[MSFT]" - 13 Dec 2005 05:49 GMT Hi,
I consulted this issue with our corresponding specialists, they suggest you may only add relative paths from the template to a existing file or other template. For example you can use a 'ProjectGroup' root vstemplate, and define sub projects/files within it. You could also define sub project vstemplate files for the existing projects that include all the files for that project.
Thanks!
Best regards,
Gary Chang Microsoft Community Support -------------------- Get Secure! ¡§C www.microsoft.com/security Register to Access MSDN Managed Newsgroups! http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp &SD=msdn
This posting is provided "AS IS" with no warranties, and confers no rights.
"Gary Chang[MSFT]" - 14 Dec 2005 08:14 GMT Hi,
I got several more approaches you can take:
1) Use a multi project VsTemplates and duplicate the common project in each one 2) Use an IWizard to instantiate the common project (the others would instantiate using the normal wizard implementation) 3) Use the old style of templates - they may have more flexbility, but I still think you're looking at a wizard implementation.
Wish this helps!
Best regards,
Gary Chang Microsoft Community Support -------------------- Get Secure! ¡§C www.microsoft.com/security Register to Access MSDN Managed Newsgroups! http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp &SD=msdn
This posting is provided "AS IS" with no warranties, and confers no rights.
SkipV - 19 Dec 2005 15:33 GMT Thanks Gary.
I ended up resolving this outside of the IDE. I wrote a little utility app that unzips a basic solution structured the way I need it (including the project references), does a search and replace to insert the new Application Name every where I need it updated, and then opens the new solution in the IDE for the developer.
It turned out to be a lot easier to just go down my own path on this (just took about 250 lines of code) than to get the new template feature to work the way that I needed it to.
Anyway, this one is resolved.
Thanks again,
Skip Valentine
> Hi, > [quoted text clipped - 20 lines] > > This posting is provided "AS IS" with no warranties, and confers no rights. "Gary Chang[MSFT]" - 20 Dec 2005 02:41 GMT That's great, thanks for updating us you have already worked around this problem, good luck:)
Have a nice day!
Best regards,
Gary Chang Microsoft Community Support -------------------- Get Secure! ¡§C www.microsoft.com/security Register to Access MSDN Managed Newsgroups! http://support.microsoft.com/default.aspx?scid=/servicedesks/msdn/nospam.asp &SD=msdn
This posting is provided "AS IS" with no warranties, and confers no rights.
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|