Visual Studio 2010 is asking to convert RDLC created on VS2008 to RDLC 2008 format?
Asked Answered
H

5

9

I've created my project on Visual Studio 2008, as well RDLC files on it. But now, when I open the solution on Visual Studio 2010 and want to open RDLC file, it's showing me a warning.

That's a little funny. The report was created on VS2008 and VS2010 is asking to convert to 2008 format. Perhaps there was a problem on my VS2008 installation that created RDLC files using some ancient format (2005??!)

The problem is, when you confirm with Ok button, do some design ajustments and run the app, it throws an error on 'Main report':

ex.InnerException
{"The definition of the report 'Main Report' is invalid."}
    [Microsoft.Reporting.DefinitionInvalidException]: {"The definition of the report 'Main Report' is invalid."}
    Data: {System.Collections.ListDictionaryInternal}
    HelpLink: null
    InnerException: {"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."}
    Message: "The definition of the report 'Main Report' is invalid."
    Source: "Microsoft.ReportViewer.Common"
    StackTrace: "   at Microsoft.Reporting.ReportCompiler.CompileReport(CatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ReportSnapshotBase& snapshot)\r\n   at Microsoft.Reporting.StandalonePreviewStore.StoredReport.CompileReport()\r\n   at Microsoft.Reporting.StandalonePreviewStore.StoredReport.get_Snapshot()\r\n   at Microsoft.Reporting.StandalonePreviewStore.GetCompiledReport(CatalogItemContext context, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n   at Microsoft.Reporting.LocalService.GetCompiledReport(CatalogItemContext itemContext, Boolean rebuild, ReportSnapshotBase& snapshot)\r\n   at Microsoft.Reporting.LocalService.CompileReport(CatalogItemContext itemContext, Boolean rebuild)\r\n   at Microsoft.Reporting.WinForms.LocalReport.CompileReport()"
    TargetSite: {Microsoft.ReportingServices.ReportProcessing.PublishingResult CompileReport(Microsoft.ReportingServices.Diagnostics.CatalogItemContext, Byte[], Boolean, Microsoft.ReportingServices.Library.ReportSnapshotBase ByRef)}
Hazy answered 25/5, 2010 at 16:46 Comment(2)
It seems Visual Studio 2008 is not compatible with SQL Server 2008 RDLC files? VS 2008 is still using the SQL Server 2005 RDLC schema as found on my RDLC file: <Report xmlns="schemas.microsoft.com/sqlserver/reporting/2005/01/…" ...Hazy
And here is the correct definition to RDLC 2008 format: <Report xmlns="schemas.microsoft.com/sqlserver/reporting/2008/01/…" ...Hazy
H
1

Here´s a workaround.

  • Do not convert or edit your reports in VS2010 (there´s something wrong there)

  • Install Report Viewer 2008 Install

  • SQL Server Business Intelligence Studio 2008

  • In SQL Server Business Intelligence, create an empty project for your reports

  • Rename file extensions to .rdl add your existing rdl files in this project.

  • Build and deploy your project

Hazy answered 1/7, 2010 at 19:14 Comment(0)
C
10

I experience a similar problem when converting an earlier versions of rdlc's to VS2010. The conversion is fine, what needs to happen is that the references to Microsoft.ReportViwer.Common must be changed from version 9 to version 10. Do the same with the Microsoft.ReportViewer.WebForms as well. You will also need to change all references of version 9 in the web.config and in the pages that contain the ReportViewer control to version 10. This solved all my problems and was able to modify the report in VS2010.

Cedrickceevah answered 22/3, 2012 at 14:32 Comment(2)
That was a far simpler answer than the others on this thread (albeit your post is a little newer than the others) - Thanks!Debatable
You will also need to update the assembly references in the app/web.configLithoid
W
5

This is far simpler than the reply that is set as an answer...

All you need to do is remove your references to ReportViewer from your project (as these are still pointing to version 9), then go to add references and select the ReportViewer references that are version 10..

Winthorpe answered 28/6, 2012 at 10:32 Comment(0)
T
2

Just to clear your confusion about the versions :

When Visual Studio 2008 was released, RDL 2008 schema was not released. And hence VS 2008 supported RDL 2005 schema only. RDL 2008 schema is supported by VS 2010. RDL Schema is one version behind than the Visual Studio version, and as you can see it is sometimes the root cause of some confusion.

Trusting answered 13/9, 2010 at 14:7 Comment(0)
H
1

Here´s a workaround.

  • Do not convert or edit your reports in VS2010 (there´s something wrong there)

  • Install Report Viewer 2008 Install

  • SQL Server Business Intelligence Studio 2008

  • In SQL Server Business Intelligence, create an empty project for your reports

  • Rename file extensions to .rdl add your existing rdl files in this project.

  • Build and deploy your project

Hazy answered 1/7, 2010 at 19:14 Comment(0)
F
0
<httpHandlers>
  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
</system.webServer>
Fairbanks answered 29/5, 2012 at 13:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.