Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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)}
like image 948
Junior Mayhé Avatar asked May 25 '10 16:05

Junior Mayhé


People also ask

How do I convert RDL to Rdlc?

The simplest answer for how to convert from RDL to RDLC is: rename. The content/structure of the file does not change, however the ReportViewer control does not "fetch" data for you, so any queries in the RDL will not be used. You can just rename the file from . RDL to .

What is difference between RDL and Rdlc?

RDL refers to Report Definition Language, which a program is created to assist in management of the server end. This program came into being in 2005 when it was created by SQL Server version of the Report Designer. RDLC, on the other hand, refers to Report Definition Language, Client Side.

What is Rdlc format?

What is an RDLC file? The RDLC stands for Report Definition Language Client side. Actually It is an extension of report file created by using Microsoft reporting technology. The SQL Server 2005 version of Report Designer is used to create these files.


4 Answers

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.

like image 161
Trixxx Avatar answered Oct 24 '22 01:10

Trixxx


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..

like image 31
Daniel Cassar Alpert Avatar answered Oct 24 '22 03:10

Daniel Cassar Alpert


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.

like image 42
Rezaul Hoque Avatar answered Oct 24 '22 03:10

Rezaul Hoque


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

like image 21
Junior Mayhé Avatar answered Oct 24 '22 02:10

Junior Mayhé