Visual Studio Development Bookmark and Share   
 index > Visual Studio Guidance Automation Toolkit > Recipe framework error
 

Recipe framework error

Hello,

I installed the Guidance automation extensions (july 2007 CTP) and the Service Factory - Modeling Edition (VS2005) on my Visual Studio 2005 system.

When I try to load / execute the package, I get the following error:

Microsoft.Practices.RecipeFramework.ActionExecutionException: An exception occurred during the binding of reference or execution of recipe BindingRecipe. Error was: Action CreateASMXServiceRef failed to execute:
Unexpected error loading template file name C:\Program Files\Microsoft Service Factory V3\Guidance Package\Templates\Projects\ASMX.vstemplate. Make sure that the template is well formed and try again..
You can remove the reference to this recipe through the Guidance Package Manager. ---> Microsoft.Practices.RecipeFramework.RecipeFrameworkException: Unexpected error loading template file name C:\Program Files\Microsoft Service Factory V3\Guidance Package\Templates\Projects\ASMX.vstemplate. Make sure that the template is well formed and try again. ---> System.ArgumentException: The template does not have the correct WizardExtension data.
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.TemplateMetaData.ReadTemplate()
--- End of inner exception stack trace ---
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.TemplateMetaData.ReadTemplate()
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.TemplateMetaData..ctor(String templateFileName, CommandID command, String packageName, RegistryKey registryRoot)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.VSTemplatesService.Microsoft.Practices.RecipeFramework.VisualStudio.Common.IVsTemplatesService.GetTemplate(String templateFileName)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.TemplateReference.OnSited()
at Microsoft.Practices.RecipeFramework.AssetReference.set_Site(ISite value)
at System.ComponentModel.Container.Add(IComponent component, String name)
at Microsoft.Practices.RecipeFramework.Services.AssetReferenceService.Add(IComponent component, String name)
at System.ComponentModel.Container.Add(IComponent component)
at Microsoft.Practices.RecipeFramework.Services.AssetReferenceService.Add(IAssetReference reference, IDictionary initialState, Boolean throwIfDuplicate)
at Microsoft.Practices.RecipeFramework.Services.AssetReferenceService.Add(IAssetReference reference, IDictionary initialState)
at Microsoft.Practices.RecipeFramework.Services.AssetReferenceService.Add(IAssetReference reference)
at Microsoft.Practices.RecipeFramework.Library.Actions.CreateUnboundReferenceAction.Execute()
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName, Dictionary`2 inputValues)
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName)
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionCoordinationService.Run(Dictionary`2 declaredActions, XmlElement coordinationData)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
--- End of inner exception stack trace ---
at Microsoft.Practices.RecipeFramework.Recipe.UndoExecutedActionsAndRethrow(Exception ex)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
at Microsoft.Practices.RecipeFramework.Recipe.Execute(Boolean allowSuspend)
at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(String recipe, IAssetReference reference, IDictionary arguments)
at Microsoft.Practices.RecipeFramework.RecipeManager.Add(IComponent component, String name)
at System.ComponentModel.Container.Add(IComponent component)
at Microsoft.Practices.RecipeFramework.RecipeManager.EnablePackage(XmlReader configuration)
at Microsoft.Practices.RecipeFramework.RecipeManager.EnablePackage(String packageName)
at Microsoft.Practices.RecipeFramework.PackageManagement.EnableDisablePackages.OnOkClick(Object sender, EventArgs e)

Investigating this problem further, I have remarked that the Guidance automation extensions installer added an assembly binding redirect statement for the Microsoft.Practices.RecipeFramework.VisualStudio assembly (versions 1.0.51206.0-1.2.0.0) to the 1.3.0.0 version.

However, the fusion log says:

*** Assembly Binder Log Entry  (14-02-2008 @ 11:51:55) ***

The operation failed.
Bind result: hr = 0x80131040. No description available.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = RIZIV\jdg3658
LOG: DisplayName = Microsoft.Practices.RecipeFramework.VisualStudio, Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : Microsoft.Practices.Common, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe.Config
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Microsoft.Practices.RecipeFramework.VisualStudio, Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.RecipeFramework.VisualStudio.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Microsoft.Practices.RecipeFramework.VisualStudio/Microsoft.Practices.RecipeFramework.VisualStudio.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/PublicAssemblies/Microsoft.Practices.RecipeFramework.VisualStudio.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.Practices.RecipeFramework.VisualStudio.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: Microsoft.Practices.RecipeFramework.VisualStudio, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

So, I guess there is a problem with the binding redirect? What is happening here?
Thanks in advance.
Johan

JohanDG  Thursday, February 14, 2008 11:48 AM

Hello,

I've found the reason. Apparantly, an installer of another product (IBM DB2 client) added an assemblyBinding section the the machine.config of .NET 2.0. This first section has an appliesTo attribute with value "v1.1.4322" set (which makes absolutly no sense, since this file is only used by .NET 2.0 and above). The GAX installer adds its redirects to the first assemblyBinding section found, and it's thus not used in .NET 2.0.

NOTE: Also mscorcfg.msc lists only the first assemblyBinding section it finds without looking at the appliesTo attribute, other redirects are not shown!

Johan

JohanDG  Friday, February 15, 2008 12:14 PM

Hello,

I've found the reason. Apparantly, an installer of another product (IBM DB2 client) added an assemblyBinding section the the machine.config of .NET 2.0. This first section has an appliesTo attribute with value "v1.1.4322" set (which makes absolutly no sense, since this file is only used by .NET 2.0 and above). The GAX installer adds its redirects to the first assemblyBinding section found, and it's thus not used in .NET 2.0.

NOTE: Also mscorcfg.msc lists only the first assemblyBinding section it finds without looking at the appliesTo attribute, other redirects are not shown!

Johan

JohanDG  Friday, February 15, 2008 12:14 PM

Hi

I am also facing the same problem could you suggest some solution

I am sending below exception

Microsoft.Practices.WizardFramework.WizardExecutionException: The wizard failed to execute. The error was:
Cannot create WizardPage Create Smart Client Solution, Exception has been thrown by the target of an invocation.. ---> Microsoft.Practices.WizardFramework.WizardFrameworkException: Cannot create WizardPage Create Smart Client Solution, Exception has been thrown by the target of an invocation.. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinForms, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinForms, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Microsoft.Practices.SmartClientFactory.CustomWizardPages.SolutionPropertiesPage.InitializeComponent()
at Microsoft.Practices.SmartClientFactory.CustomWizardPages.SolutionPropertiesPage..ctor(WizardForm wizard)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at Microsoft.Practices.WizardFramework.WizardForm.CreateWizardPage(Page page)
--- End of inner exception stack trace ---
at Microsoft.Practices.WizardFramework.WizardForm.CreateWizardPage(Page page)
at Microsoft.Practices.WizardFramework.WizardForm.EndInit()
at Microsoft.Practices.WizardFramework.WizardForm..ctor(IServiceProvider provider, Wizard wizardConfig, String basePath)
at Microsoft.Practices.WizardFramework.WizardForm..ctor(IServiceProvider provider, Wizard wizardConfig)
at Microsoft.Practices.WizardFramework.WizardGatheringService.Microsoft.Practices.Common.Services.IValueGatheringService.Execute(XmlElement data, Boolean allowSuspend)
--- End of inner exception stack trace ---
at Microsoft.Practices.WizardFramework.WizardGatheringService.Microsoft.Practices.Common.Services.IValueGatheringService.Execute(XmlElement data, Boolean allowSuspend)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.TemplateGatheringService.Microsoft.Practices.Common.Services.IValueGatheringService.Execute(XmlElement serviceData, Boolean allowSuspend)
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.RunStarted(Object automationObject, Dictionary`2 replacementsDictionary, WizardRunKind runKind, Object[] customParams)

Regards
Ramesh Brahmadevara  Friday, May 16, 2008 10:10 AM

You can use google to search for other answers

Custom Search

More Threads

• Set an "Overview" HTML page to the Guidance Package
• No assemblies placed in GAC
• T4 (*.tt) Turn off default autogen file
• How can i show something like a table in VB.NET 2005 form ?
• Guidance Automation Kit installation issues
• ExecutionCondition ForEach Actions
• Clarius SFT June 2007 CTP available: GAX & DSL integration just got better!
• Integrating validation information within XML
• Reference Issue
• Can't repair/uninstall GAT or GAX