On our test TFS server, creating a new project using the great Scrum for Team System template failed. In the log file I found following information:
Creating reports on the SQL Server Reporting Services on http://tfstest/ReportServer/ReportService2005.asmx.
The reason for the failure cannot be determined at this time. Because the operation failed, the wizard was not able to finish creating the SQL Server Reporting Services site.
Stack Trace:
at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.Execute(ProjectCreationContext context, XmlNode taskXml)
at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.TaskExecutor.PerformTask(IProjectComponentCreator componentCreator, ProjectCreationContext context, XmlNode taskXml)
at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.RunTask(Object taskObj)-- Inner Exception --
Exception Message: TF30225: Error uploading report 'Product Burndown Chart By Day': System.Web.Services.Protocols.SoapException: Error while loading code module: ‘Conchango.TeamSystem.Metrics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=13d7c658a290ad85’. Details: Could not load file or assembly 'Conchango.TeamSystem.Metrics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=13d7c658a290ad85' or one of its dependencies. The system cannot find the file specified.
at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings) (type ReportingUploaderException)Exception Stack Trace:
at Microsoft.TeamFoundation.Client.Reporting.ReportingUploader.UploadReport(XmlNode report)
at Microsoft.TeamFoundation.Client.Reporting.ReportingUploader.HandleCreateReports(XmlNode node)
at Microsoft.TeamFoundation.Client.Reporting.ReportingUploader.Run()
at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.Execute(ProjectCreationContext context, XmlNode taskXml)
The problem is that the Metrics assembly isn’t installed on the application server. Normally this should be done automatically if the installer discovers a reporting services instance on the target machine.
A solution is to install and register this file yourself.
Get the file:
- Create an output directoy.
- Launch the installer and keep it open.
- Find the "ScrumForTeamSystem.msi" file that is written to the default temp location.
- Use the MSIEXEC command line utlity to extract the contents of the MSI.
MSIEXEC /a "ScrumforTeamSystem.msi" /qb TARGETDIR={OUTPUTDIR} - Find the "Conchango.TeamSystem.Metrics.dll" assembly.
Located at: {OUTPUTDIR}\ProcessTemplate\Conchango.TeamSystem.Metrics.dll
Register the file:
- Open a Visual Studio Command prompt
- Run GacUtil /i {OUTPUTDIR}\ProcessTemplate\Conchango.TeamSystem.Metrics.dll to register the assembly in the Global Assembly Cache.