Error:
The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgradedSolution:
Reference 10.0 versions of the Microsoft.ReportViewer.Common, Microsoft.ReportViewer.ProcessingModel and Microsoft.ReportViewer.WebForms.dll
Error:
The base class includes the field 'ReportViewer1', but its type (Microsoft.Reporting.WebForms.ReportViewer) is not compatible with the type of control (Microsoft.Reporting.WebForms.ReportViewer)Solution:
Change the referenced version of the assembly in the aspx where the ReportViewer control lives:
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
And when you go to deploy with Cruise Control.NET / MSBuild and it fails...
Error:
The report definition is not valid. Details: The report definition has an invalid target namespace 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' which cannot be upgraded.Solution:
In the your project, change the Build Action to "None" and change Copy to Output to "Copy if Newer" for each of the .rdlc files (so MSBuild ignores them).
Remove this block from web.config (not even sure if this is relevant... certainly not necessary)
<buildProviders>I installed ReportViewer.exe on the web server which added the newer dlls to the GAC so they don't need to be copied with the build.
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
Hope this helps.
No comments:
Post a Comment