Hi,
If there are multipleRecipe Argumentsin the Expression of value provider, Evaluator and if any of the argument is empty or null then the value provider throws following error:
----------------------------------------------
Microsoft.Practices.RecipeFramework.RecipeExecutionException: An exception occurred during the binding of reference or execution of recipe CreateSite. Error was: The following arguments are required and don't have values: HTTPPath. 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.Execute(IAssetReference reference)
at Microsoft.Practices.RecipeFramework.RecipeReference.OnExecute()
at Microsoft.Practices.RecipeFramework.VisualStudio.VsBoundReference.OnExecute()
at Microsoft.Practices.RecipeFramework.AssetReference.Execute()
at Microsoft.Practices.RecipeFramework.VisualStudio.RecipeMenuCommand.OnExec()
at Microsoft.Practices.RecipeFramework.VisualStudio.AssetMenuCommand.Invoke()
----------------------------------------------
Example:
<
Argument Name="HTTPPath">
<
ValueProvider Type="Evaluator" Expression="http://$(ServerName)
(WebSitePort)/$(DirName)"></ValueProvider>
</
Argument>
Here, say if value of WebSitePort is not set, then error is thrown.
Expression should evaluate even though any argument value is not available.
How to do this?
Thanks & Regards,
Navneet