Hi, Is there any article explaining the differences /comparative advantages of Managed Package Framework and GAT Im starting down the automation route and have written a couple of simple add-ins and am keen to take this one step further so i was wondering if i should go down the package route or GAT.



Re: Visual Studio Team System - Architecture & Design Differences between MPF and GAT


Hi Benjy,

GAT itself is a VSIP package that uses the MPF. And in GAT's architecture you write "guidance" packages which are kind of a new way of extending VS, they're not really the addins you're used to and they're not fully VSIP packages either. GAT's packages offer some advantages like declaring your menus declaratively in a xml file (instead having to add them through code in an Addin or much-much worse yet by using cryptic CTCs in a VSIP package), properly organizing the automation code into "Recipes" which are a kind of configuration artifacts for "Actions" (where the code lives) and strategies for gathering values (i.e. Wizards), etc. So, GAT is a small framework on top of MPF to make it easier to extend VS introducing simple concepts and without requiring you to understand lots of the inner workings of a VSIP package. btw, you should be able to do anything you could do with an Addin using a Guidance Package.

Now, writing a VSIP package using MPF will allow you to extend VS in ways you can't do with GAX: i.e. adding a new language service (for coloring, intellisense, etc), adding a new project flavor, etc.

The good news, is that using GAT you can tweak your guidance package and convert it into a full VSIP package (one using MPF) while keeping the simple GAT concepts like Recipes and Actions alongside the chance to do any hardcore extension if you need to.

If you could comment a bit on what is what you're trying to achieve through automation we may be able to better point you to which of the three (Addin, GAT or VSIP package) alternatives may work better.



Re: Visual Studio Team System - Architecture & Design Differences between MPF and GAT


Hi Victor,

that was a very nice explanation. I understand them now. I have been keeping an eye on the GAT developments for a while but never quite understood the positioning in the automation stack.

I am not doing anything fancy really (not yet anyway I do a lot of Biztalk work and am trying to create multi project solutions, change settings to company standards, generate classes, test stubs etc. I started down the VSTemplate route but Biztalk projects do not natively support them (ie) you can create an empty biztalk project by setting its type to CSharp in the .vstemplate file but you cannot create full fledged starter kits, so i started writing some add-ins to do some of this and started looking at adding options to the solution explorer context menus and so on . I have made some progress but wanted to make sure i am on the right track for future expansion.

Theres an interesting VSIPFactory on codeplex as well which aims to make it easy to create packages. I dont think i will ever need all the power of packages and it does look like GAT will hit the sweet spot of being able to do more than add-ins but not as complex as packages (but with the capability of going into full packages later if needed) so perhaps i should dive into GAT now. It may also help me understand more of the DSL/ Factories concepts that way.

Thanks once again... i'll start looking into GAT ...