New Posts New Posts RSS Feed: SCSF with Cabana
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

SCSF with Cabana

 Post Reply Post Reply
Author
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Topic: SCSF with Cabana
    Posted: 06-Aug-2007 at 7:01am
Is it possible to run an SCSF recipe against the Cabana application?  I added the guidance packages to the source, but when I tried to add a business module through the SCSF, I get the following error:
 
*******************
Microsoft.Practices.RecipeFramework.RecipeExecutionException: An exception occurred during the binding of reference or execution of recipe CreateBusinessModuleCS. Error was: The following arguments are required and don't have values: CommonProject. Can't continue execution..
You can remove the reference to this recipe through the Guidance Package Manager.
   at Microsoft.Practices.RecipeFramework.Recipe.ThrowIfRequiredArgumentsAreNull(IDictionaryService arguments)
   at Microsoft.Practices.RecipeFramework.Recipe.Execute(Boolean allowSuspend)
   at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(String recipe, IAssetReference reference, IDictionary arguments)
   at Microsoft.Practices.RecipeFramework.GuidancePackage.ExecuteFromTemplate(String recipe, IDictionary arguments)
   at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.ExecuteRecipe(Boolean executeActions)
   at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.RunFinished()
*******************
 
I realize that the documentation states that the DevForce teams have not yet "tackled the intricacies of GAT recipe development", but does that also mean that running a recipe has been somehow disabled?
 
Bill
Back to Top
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Posted: 06-Aug-2007 at 7:53am
I did a little more research on this error.  I found nothing specific to the actual error; however, I did find that someone ran into something similar.  Take a look at this blog entry:
 
 
The item that stands out is the missing globals section in the Cabana solution file:
 
GlobalSection(ExtensibilityGlobals) = postSolution
   RootNamespace = MySolutionName.MyProjectName
   CommonProjectGuid = 7432c860-3226-49fa-a9f4-2dd27d1229b8
   ShellProjectGuid = 6ee16e85-57a7-4a00-9018-43eca17194cb
EndGlobalSection

There is also no reference to either the shell project or the infrastructure.interface project.  I will try adding just the global section first and see what happens.  I'll post results here shortly.
 
Bill
Back to Top
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Posted: 06-Aug-2007 at 8:16am
I am a bit confused.  I had to restart my computer (various XP hangups over time) and when I went to look at the solution file in order to add the globals section, I discovered that it is there!!  Wow!  Just a few minutes ago, I was looking at the file and the section was not there.  Must be a Monday thing.
 
I will try the SCSF Add Business Solution again.
 
Bill
Back to Top
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Posted: 06-Aug-2007 at 8:27am
There must be something deeper at work here.   Some dark magic that has corrupted my system.  The same error appears after double-checking that all entries are properly in place in the solution file.  After getting that error, if I right-click on the shell project I get another error stating that another recipe couldn't find some binding reference for creating a view.  Yowzaa!  Back to my first question, is it even possible to utilize guidance automation within Cabana?
Back to Top
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Posted: 06-Aug-2007 at 9:31am
Well, I made sure that I could use the guidance automation outside of Cabana.  I was able to successfully create a CAB solution, add a business module, create a view and run the app with the view showing up in the left workspace.  Piece of cake...no errors.
 
My assumption, then, is that Cabana is not wired properly to utilize guidance automation.
 
It was mentioned last week that a new module template will be created for use in Cabana; however, I am not sure that this is the best way to go.  I am leaning more toward the GAT rather than the CAT (Cabana Automation Toolkit).  What I would like to see is a way of simply adding the DevForce functionality to a CAB solution...new or existing.  Could that be a possibility?
 
Bill
Back to Top
Bill Jensen View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 31-Jul-2007
Location: United States
Posts: 229
Post Options Post Options   Quote Bill Jensen Quote  Post ReplyReply Direct Link To This Post Posted: 09-Aug-2007 at 10:14am
I discussed the whole SCSF recipe issue with Ward.  His summary of the result:
 
Some SCSF recipes will work against Cabana; some won't.
 
I think adding a business module should work. I suspect that this recipe is looking for something that isn't there - that the recipe is broken. For example, I have no idea what "CommonProject" is; it is NOT among the projects generated by the 2006 SCSF (I just looked). Maybe he neglected a value in the wizard?  In any case, he may want to test the recipe against a clean SCSF generated application before turning to Cabana. 
 
Looks like you've successfully accomplished this --Bill J.
 
But read on ... because the real problem here is that recipes should not be used at all.
 
[BTW, this output is just ONE of the reasons to avoid recipes - you have NO idea what's going wrong. At least with templates the developer stands a chance]
 
There are no SCSF recipes worth running. That sounds strong but I can't think of one that I would want to run that produces anything I should want.
 
Consider the recipe in question. It adds a business module in a manner that would not be helpful.
 
If I remember correctly, it creates a new project, puts classes in it called Module and ModuleController, and registers the module in the ProfileCatalog. That is barely a start. Such modules don't look like Cabana modules and don't know how to hook into our navigation (or any navigation for that matter).
 
To take another example, the view recipes produce files that derive from UserControl and the scsf Presenter<T> class ... bad ideas both.
 
We haven't tackled the intricacies of GAT recipe development because ... they're ridiculously complex and hard to maintain. The recipes as shipped are largely useless (or counterproductive) so I haven't bothered trying to make Cabana work with them.
 
[I'm not trying to be dismissive of the SCSF recipes. They were offered as a demo. No one should build a real application that way. It was always intended that the application architect would develop recipes appropriate to the application. Unfortunately, that has turned out to be prohibitively difficult to do. The guys at Cambar have made some progress there but I came away more convinced then ever that one should avoid GAT recipe building at this stage of their evolution.]
 
We're hoping the forthcoming Visual Studio templates answer the need.
 
So there!
 
BTW, I suggest you take a look at our new templates/wizards (available real soon now) before deciding if they're useful.
 
Thanks,
Bill J.
Back to Top
Linguinut View Drop Down
Senior Member
Senior Member
Avatar

Joined: 14-Jun-2007
Location: United States
Posts: 394
Post Options Post Options   Quote Linguinut Quote  Post ReplyReply Direct Link To This Post Posted: 09-Aug-2007 at 11:47am
The CommonProjectGuid is the Infrastructure.Interface project GUID (assigned at creation, see link in first post).  The Cabana app has placed this animal in the Scsf.Infrastucture.Interface project since it is using it's own version of this project.  Perhaps that is why the recipe is unable to find the common project and therefore bombs.  I really don't know...just guessing.
 
The more I work on this CAB/SCSF/DevForce stuff, the less I know about any of it.  Quite demoralizing.
 
I will employ the DevForce templates as soon as they are made available. 
 
Bill
 
 
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down