Change RDL version for RDLC Reports in Visual Stud

2019-04-05 13:35发布

问题:

I have a project in Visual Studio 2017 with .NET Framework 4. For reports I use the RDLC designer, but I have a problem. The designer creates the reports using RDL 2016 and I need you to use the 2010 definition.

Can I configure this?

I need it since the program has to be compatible with Windows XP and there is no ReportViewer Runtime that supports RDL 2016 for Windows XP.

回答1:

I had the same problem, but if a did a new report it was all right, the new report was created and saved with the old schema: xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition". (report viewed with a text editor)

When I added a parameters and re-saved, VS turned the schema in new schema: xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition"

But I found a solution that work also with Windows XP:

I install all necessary to manipulate the report with VS 2017 (in Visual studio 2017 are all external plug-in), then change the reference of my project e take 2 new referenze to this DLL:

1)

..\project\packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80\lib\net40\Microsoft.ReportViewer.WinForms.dll

2)

..\project\packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80\lib\net40\Microsoft.ReportViewer.Common.dll

After that all work.

This new version of DLL handle both "old schema" and "new schema"



回答2:

Reporting solutions in VS have always been tied to the version of SSDT that is current at the time of release. e.g. VS 2015 only supported the Sql Server 2016 report schema.

I think the answer is that you might be able to do something to change the schema it uses by editing the XML directly, as suggested by Ricky A, but for proper, designer support this isn't going to work.

Article from Microsoft on schema versions supported here doesn't mention anything other than schema v2016 support in VS 2017: https://docs.microsoft.com/en-us/sql/reporting-services/plan-for-report-design-and-report-deployment-reporting-services

I am fairly sure that your VS licence will cover old versions, and different versions live happily side by side, so install whichever other version you need for the reporting project you are editing (along with the correct version of SSDT/BIDS etc).



回答3:

You can check ReportViewer version and installed in your Visual Studio 2017 using PM> (Before doing this you have to delete previous Report viewer references ) https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Winforms/140.1.291.2731477-rc

This package Manager work for me. PM>Install-Package Microsoft.ReportingServices.ReportViewerControl.Winforms -Version 140.1.291.2731477-rc