Visual Studio Development Bookmark and Share   
 index > Visual Studio Guidance Automation Toolkit > Can the debugger be used to step through a guidance package?
 

Can the debugger be used to step through a guidance package?

I have a few random questions - any help is appreciated. Note the general sense of frustration.

Is it possible to use the debugger to step through a Guidance Package while it creates a solution?

Is there documentation, other than the chm file? (note: this should include a how-to)

What is the sequence of how code is executed when a solution is created from a package?

How does one interpret the below Action ?

<Action Name="ExportSolutionTemplateRef" Type="RefCreator" AssetName="ExportSolutionTemplate"

ReferenceType="Microsoft.Practices.SoftwareFactories.ServiceFactory.References.SolutionPropertiesReference, Microsoft.Practices.SoftwareFactories.ServiceFactory" IsEnabledForProperties="ISWCFSolution"/>

What does a binding bind?

bbyrd  Friday, February 02, 2007 9:55 PM
Ok... let's tackle this step by step... :-)

First, you have GAX, this is an extension to Visual Studio of a runtime designed to ease the development of guidance packages by providing concepts such as Recipes, Actions, etc.

Then you build guidance packages that run on top of GAX. One such guidance package is the GAT (Guidance Automation Toolkit) which is a guidance package for... developing other guidance packages!! (note the meta-level in here that may start to confuse you...)

Then, you have other guidance packages, from p&p too, like Services Factory, Mobile Client Factory, Web Client Factory, Smart Client Factory, etc. These guidance packages are designed to create products or "end-user" solutions. They were created from a solution containing an skeleton guidance package using GAT or any other "meta" guidance package (like Clarius MetaFactory, http://softwarefactoriestoolkit.net).

In order to better understand a specific factory, like Services Factory that you're pointing out, you should first grasp some basics GAX concepts, what is an Action, a Recipe, a Value Provider, etc. There is the GAX documentation for this... which may not be that helpful... but you have a Hands On Lab too, which follows in detail step by step the creation of a guidance package, so you get a Word document explaining every step and corresponding source files. I believe this may be a good way to get started with GAX concepts. The update version of the HoL that will work with GAX June 2006 CTP is bundled in the Clarius SFT (mentioned above) under the "Samples" folder.

We're happy to assist you in this forum with any specific questions you may have about GAX and GAT!! (just make sure you create another thread for that :-))

HTH,
-Victor.
vga  Friday, February 02, 2007 10:06 PM
Ok... let's tackle this step by step... :-)

First, you have GAX, this is an extension to Visual Studio of a runtime designed to ease the development of guidance packages by providing concepts such as Recipes, Actions, etc.

Then you build guidance packages that run on top of GAX. One such guidance package is the GAT (Guidance Automation Toolkit) which is a guidance package for... developing other guidance packages!! (note the meta-level in here that may start to confuse you...)

Then, you have other guidance packages, from p&p too, like Services Factory, Mobile Client Factory, Web Client Factory, Smart Client Factory, etc. These guidance packages are designed to create products or "end-user" solutions. They were created from a solution containing an skeleton guidance package using GAT or any other "meta" guidance package (like Clarius MetaFactory, http://softwarefactoriestoolkit.net).

In order to better understand a specific factory, like Services Factory that you're pointing out, you should first grasp some basics GAX concepts, what is an Action, a Recipe, a Value Provider, etc. There is the GAX documentation for this... which may not be that helpful... but you have a Hands On Lab too, which follows in detail step by step the creation of a guidance package, so you get a Word document explaining every step and corresponding source files. I believe this may be a good way to get started with GAX concepts. The update version of the HoL that will work with GAX June 2006 CTP is bundled in the Clarius SFT (mentioned above) under the "Samples" folder.

We're happy to assist you in this forum with any specific questions you may have about GAX and GAT!! (just make sure you create another thread for that :-))

HTH,
-Victor.
vga  Friday, February 02, 2007 10:06 PM
Many thanks, Victor.
bbyrd  Friday, February 02, 2007 10:12 PM
I forgot to tackle your questions...

1) Yes, you can debug a guidance package. What you would need to do is to open up a 2nd instance of VS and attach to it from the one containing your guidance package source code. You can then put breakpoints as you wish in your's action code, etc. Then you go to this other VS instance and start using your package. When a breakpoint is hit focus will return to the first instance of VS and you will be able to debug as usual.

2) There is no fixed sequence of execution for recipes, they will execute when a user invokes them or when they're associated with a Visual Studio template and this template is unfolded. There is a special case called the "Binding" recipe, which is a recipe that will be called each and every time a package is enabled. To specify which one from your recipes should be the "binding" recipe you need to add the BindingRecipe attribute to your <GuidancePackage> attribute in your package manifest file.

3) Regarding the action you're posting. That action is of type "RefCreator", you will notice this is just an alias to a real .Net full type name. Type aliases are usually put into a separate file and referenced by the usage of XInclude so you can reference the same file from several recipes. That "RefCreator" action happens to take three properties which are specified by the attributes AssetName, ReferenceType and IsEnabledForProperties attributes. In order to discover what is expected to go into these attributes you should consult the documentation for each action. If the doc is not clear you will need to take a look at the Action "Execute" method where usually input and output attributes are used to perform the action purpose.

HTH,
-Victor.
vga  Friday, February 02, 2007 10:14 PM

Hi vga,

I'm trying to debug a working copy of WCF guidance package by attaching gp's vs to another vs' process. I set the breakpoint in one of the presenter's click event, but it was never hit. Can you think of anything?

Thanks so much.

Leahx  Tuesday, February 13, 2007 6:52 PM
Let's make sure first that the breakpoint is attached. Hover over the red filled circle representing the breakpoint and some tooltip text will appear. Does it say that the the instance of VS is currently attached to devenv.exe? (the other instance).

-Victor.
vga  Tuesday, February 13, 2007 7:37 PM
Thank you. I got it.
Leahx  Tuesday, February 13, 2007 7:56 PM
Glad I could help!
vga  Wednesday, February 14, 2007 2:11 PM

You can use google to search for other answers

Custom Search

More Threads

• Support for the June or July CTP of VS .Net 2005?
• Can't open the guidance navigator window
• Add WCF Service Reference
• How to modify the SCSF Add View (with presenter) generated code
• How to remove GAX/GAT July 2007 CTP from your system
• Register more then one Solution template
• The Key combination (ctrl+R, ctrl+R) for word wrap not working
• Windows Installer Clean Up - Locks up during GAX removal
• Recipe framework error after deployment - serviceProvider is null
• Trusted Assembly referenace Problem