none
VS2010 The Report Definition is not valid RRS feed

  • Question

  • Hi,

    I've built a brand new application in VS2010, not converted like everyone else from VS2008 and I'm getting an error with my .rdlc file that states:  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.    e:\test\test1\test1\Report1.rdlc    test1

    This is a local report, not a server based report.  I can create different reports against the data base using Report Builder with no issues.  Note, I'm NOT trying to transport the files between Report Builder and VS2010.  Am I forced into using Report Builder Server reports once I install SQL Server 2008 R2?  I would like to keep the reports as local reports so that when I distribute the software I can use SQLEXPRESS.

    Thank you,  Glenn

    Friday, September 17, 2010 3:00 AM

All replies

  • Hi Glenn,

     

    Since the issue you posted is unusual, please have a check whether RDLC2008 file can be used in your Visual Studio 2010 in a simplest case by the following steps:

    1.    Open Visual Studio 2010 and create a new application.

    2.    Right click the project name in the Solution Explorer window, select Add->New Item…

    3.    In the Add New Item window, select Reporting in Installed Templates list, then select Report and click Add button. After that, the new Report will be opened in Design mode.

    If the invalid error message still shows, could you please post the specific version of your Visual Studio 2010? To check the version, please click Help in the main menu and select About Microsoft Visual Studio. Then you can find the version in the top left corner.

     

    Thanks,

    Tony Chain

    Monday, September 20, 2010 8:39 AM
    Moderator
  • Hi Tony,

    Thank you for getting back to me.  I have done as you have requested and my .rdlc file looks like this:

    <?xml version="1.0" encoding="utf-8"?>
    <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
      <Width>6.5in</Width>
      <Body>
        <Height>2in</Height>
      </Body>
      <rd:ReportTemplate>true</rd:ReportTemplate>
      <Page>
      </Page>
    </Report>

    And I'm receiving this:

    Error    1    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.    e:\test2\test2\test2\Report1.rdlc    test2

    Here's the information about VS2010:

    Microsoft Visual Studio 2010
    Version 10.0.30319.1 RTMRel
    Microsoft .NET Framework
    Version 4.0.30319 RTMRel

    Installed Version: Professional

    Microsoft Office Developer Tools   01018-532-2002102-70844
    Microsoft Office Developer Tools

    Microsoft Visual Basic 2010   01018-532-2002102-70844
    Microsoft Visual Basic 2010

    Microsoft Visual C# 2010   01018-532-2002102-70844
    Microsoft Visual C# 2010

    Microsoft Visual C++ 2010   01018-532-2002102-70844
    Microsoft Visual C++ 2010

    Microsoft Visual F# 2010   01018-532-2002102-70844
    Microsoft Visual F# 2010

    Microsoft Visual Studio 2010 Team Explorer   01018-532-2002102-70844
    Microsoft Visual Studio 2010 Team Explorer

    Microsoft Visual Web Developer 2010   01018-532-2002102-70844
    Microsoft Visual Web Developer 2010

    Crystal Reports  
    Crystal Reports for Visual Studio 2010


    Crystal Reports Templates for Microsoft Visual Studio 2010  
    Crystal Reports Templates for Microsoft Visual Studio 2010

    Microsoft Visual Studio 2010 SharePoint Developer Tools   10.0.30319
    Microsoft Visual Studio 2010 SharePoint Developer Tools

    PowerCommands for Visual Studio 2010   1.0
    A set of power commands for Visual Studio 2010

    I should also point out that I have both SQLExpress installed with VS2010, and SQL Enterprise 2008 R2 installed on the same machine.  I have tried tried a repair function on VS2010 as well. 

    Awaiting for the next plan of action.

    Regards,
    Glenn

    Tuesday, September 21, 2010 12:01 AM
  • Hi Glenn,

     

    Thank you for the information you provided and both are correct. The SQL Express installation also would not make side effect on Visual Studio 2010. 

     

    Because only ReportViewer 2010 supports RDLC2008, we need to check if Report Viewer 2010 is installed and if the ReportView control version 10 is used in your application. You can refer to the below steps:

    1.    Place your mouse on the ReportViewer icon in Toolbox and check the version shows in the tooltip. If it is not 10.0.0.0, you need to install ReportViewer2010. It is available at: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A941C6B2-64DD-4D03-9CA7-4017A0D164FD

    2.    After add a correct version ReportViewer control to the application form. Extend the References directory in the Solution Explorer window then click Microsoft.ReportViewer.Common. In the Properties window, please check whether the property Version is 10.0.0.0

    3.    Please also check the version of the reference Microsoft.ReportViewer.WinForms or Microsoft.ReportViewer.WebForms depends your application is a Win Form application or Web application.

    4.    If you are using a web application, check if the ReportViewer related assemblies in web.config file are for 10.0.

    If the versions of ReportViewer references are not 10, please remove and and add the new version ones.

     

    Another similar thread you can refer to: http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/8287e1cd-767e-463c-8cb0-60c275fe5ed6

     

    If you have any question, please feel free to ask.

     

    Thanks,

    Tony Chain

     

    Tuesday, September 21, 2010 9:04 AM
    Moderator
  • Hi Tony,

    Sorry for the delay, I've been having hardware issues with the machine.  I think I have them solved now.  ReportViewer in the toolbox shows 10.0.0.0, also Microsoft.ReportViewer.WinForms and Microsoft.ReportViewer.WebForms also show 10.0.0.0.  This is not a web application so I do not have a web.config file. 


    If you think it may help, I can remove VS2010 and reinstall.  Is there a cleanup program that I should run to make sure I get all the stuff out of the registry for VS2010?  As I mentioned before, I have tried a VS2010 repair.

    Regards,
    Glenn

    Thursday, September 23, 2010 2:54 AM
  • Hi Glenn,

     

    Regarding the cleanup program of Visual Studio 2010, you can try to use Visual Studio 2010 Uninstall Utility to remove components of Visual Studio 2010. You can get it at the below link: http://code.msdn.microsoft.com/vs2010uninstall

     

    You can also refer to the following link for more information about Installing Visual Studio: http://msdn.microsoft.com/en-us/library/e2h7fzkw.aspx

     

    Thanks,

    Tony Chain

    Friday, September 24, 2010 7:56 AM
    Moderator
  • Hi Tony,

               I have the same, or very similar problem (I think).   I have Visual Studio 2010, and .net framework 4.0 installed on my build machine.    I also have SQL Server 2008 installed (which you indicate above does not affect the issue).

               When I create a new report project in Visual Studio 2010, the RDLC file has a reference inside to /2008/01/.  i have tried this several times.   When I build on my local machine, the reports build and run just dandy.   But when I try to build them on our build server, running MSBUILD, the  build fails with:

    the report definition has an invalid target namespace 'http://schemas.microsoft.sqlserver.reporting/2008/01/reportdefinition' which cannot be upgraded".

    Im not sure why the new report didn't get created as /2010/.       Any help greatly appreciated.

    Regards,

    Mike

     

     

    Wednesday, February 2, 2011 12:00 AM
  • I had a very similar issue.  Just all of a sudden I could no longer build a VS2010 project that contained an .rdlc file.  I wasn't converting any reports or using a report server, everything was local.  I tried creating a brand new project and adding an empty new rdlc report and hit build and it wouldn't work.  Just one day it stopped compiling and gave me the following 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.

    Turns out the issue was my "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\ReportingServices\Microsoft.ReportingServices.targets"  file had somehow changed.  The top of my file was:

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <UsingTask TaskName="Microsoft.Reporting.RdlCompile" AssemblyName="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

    And it should have been:

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <UsingTask TaskName="Microsoft.Reporting.RdlCompile" AssemblyName="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

    I changed that one "Using Task" line in the file and everything builds again.  REALLY frustrating and it ate up two days of my life. 

    Hoping posting this comment may help someone else in a similar situation.

    Jim Lafler

    Thursday, September 22, 2011 1:56 PM
  • Yes!!! Finally a real answer! I tried this and it worked like a charm! I want to thank you that this did not waste 2 days of my life! Very much appreciated.
    Thursday, April 26, 2012 11:14 AM