|
Today I've found something strange Imagine I have these arguments DMLTxtFilePath monitor CreateScriptsFolder CreateScriptsFolder monitor MyDatabaseFolderName MyDatabaseFolderName monitor DatabaseFolderName I'm having this exception Microsoft.Practices.RecipeFramework.ActionExecutionException: An exception occurred during the binding of reference or execution of recipe Register. Error was: Action Register failed to execute: Package configuration is invalid.. You can remove the reference to this recipe through the Guidance Package Manager. ---> System.Configuration.ConfigurationException: Package configuration is invalid. ---> System.Configuration.ConfigurationErrorsException: There is a circular dependency in value providers monitored argument. Offending monitoring call chains are: DMLTxtFilePath->CreateScriptsFolder->MyDatabaseFolderName->DatabaseFolderName at Microsoft.Practices.RecipeFramework.Configuration.RecipeValidator.CheckArgumentClosure(Recipe recipe) at Microsoft.Practices.RecipeFramework.Configuration.RecipeValidator.Validate(Recipe recipe) at Microsoft.Practices.RecipeFramework.GuidancePackage.<ReadConfiguration>b__0(Recipe recipe) at Microsoft.Practices.RecipeFramework.Configuration.Serialization.GuidancePackageReader.Read21_Recipe(Boolean isNullable, Boolean checkType) at Microsoft.Practices.RecipeFramework.Configuration.Serialization.GuidancePackageSerializer.BaseReader.Read23_GuidancePackage(Boolean isNullable, Boolean checkType) at Microsoft.Practices.RecipeFramework.Configuration.Serialization.GuidancePackageReader.Read23_GuidancePackage(Boolean isNullable, Boolean checkType) at Microsoft.Practices.RecipeFramework.Configuration.Serialization.GuidancePackageSerializer.BaseReader.Read24_GuidancePackage() at Microsoft.Practices.RecipeFramework.Configuration.Serialization.GuidancePackageSerializer.Deserialize(XmlSerializationReader reader) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) --- End of inner exception stack trace --- at Microsoft.Practices.RecipeFramework.GuidancePackage.ReadConfiguration(XmlReader configReader) at Microsoft.Practices.RecipeFramework.GuidancePackage.ReadConfiguration(String configFile) at Microsoft.Practices.RecipeFramework.MetaGuidancePackage.Registration.PackageRegistationAction.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.GuidancePackage.Execute(IAssetReference reference) at Microsoft.Practices.RecipeFramework.RecipeReference.OnExecute() at Microsoft.Practices.RecipeFramework.AssetReference.Execute() at Microsoft.Practices.RecipeFramework.VisualStudio.RecipeMenuCommand.OnExec() at Microsoft.Practices.RecipeFramework.VisualStudio.AssetMenuCommand.Invoke() I found that the problem was with this two arguments Argument 1: DatabaseFolderName Argument 2: MyDatabaseFolderName Because Argument 2 ends with the same name as Argument 1. If I change the name of Argument 1 to DbFolderName I don't have the exception. Does any one know why the arguments validate just the end of the name and not the entire name when checking for circular dependecies???? |