I just worked around a problem with "circular" dependencies. Someone please correct my assumption, but does the check for circular dependencies simply check for more than three nodes in the chain:

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:
SourceDirectoryPath->RootDirectoryPath->SolutionFullName->Solution
UnitTestsDirectoryPath->RootDirectoryPath->SolutionFullName->Solution
DocsDirectoryPath->RootDirectoryPath->SolutionFullName->Solution

Note that the highlighted call chain is not a circle, but is four nodes long. Removing the Monitor in SourceDirectoryPath, UnitTestsDirectoryPath and DocsDirectoryPath worked around the problem (and probably saved me some runtime overhead).

John Saunders
  • Changed TypeJohn SaundersMVPSunday, June 01, 2008 5:33 PMIt's more of a statement than a question, though I'd like my supposition confirmed.
  •