Exception calling NVelocity for template: ProjectReport.vm
Template path is C:\Program Files (x86)\CruiseControl.NET\webdashboard\templates
Exception Full Details
ThoughtWorks.CruiseControl.Core.CruiseControlException: Exception calling NVelocity for template: ProjectReport.vm
Template path is C:\Program Files (x86)\CruiseControl.NET\webdashboard\templates ---> System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.View.LazilyInitialisingVelocityTransformer.DetermineTemplateLocation(String transformerFileName)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.View.LazilyInitialisingVelocityTransformer.Transform(String transformerFileName, Hashtable transformable)
--- End of inner exception stack trace ---
at ThoughtWorks.CruiseControl.WebDashboard.MVC.View.LazilyInitialisingVelocityTransformer.Transform(String transformerFileName, Hashtable transformable)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.View.VelocityViewGeneratorWithTransformer.GenerateView(String templateName, Hashtable velocityContext)
at ThoughtWorks.CruiseControl.WebDashboard.Plugins.ProjectReport.ProjectReportProjectPlugin.Execute(ICruiseRequest cruiseRequest)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ServerCheckingProxyAction.Execute(ICruiseRequest cruiseRequest)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ProjectCheckingProxyAction.Execute(ICruiseRequest cruiseRequest)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.CruiseActionProxyAction.Execute(IRequest request)
at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ExceptionCatchingActionProxy.Execute(IRequest request)