I've got SQL Server 2008 R2 Express installed on my primary development machine, and I create SSRS reports on this box.  The problem is, I've got one customer with SQL Server 2008.  And yes, Microsoft changed the RDL file format between SSRS 2008 and SSRS 2008 R2, so SSRS 2008 can't read SSRS 2008 R2 RDL files.

So how you you get around this without setting up VMs with both?  It's not elegant, but here's what I do:

  1. On your SSRS project properties with all your reports, change the Target Server Version to SQL Server 2008 (and not SQL Server 2008 R2).


  1. Get your local dev box SSRS R2 server running if it's not already.


  1. Deploy the report project to your local SSRS R2 server.


  1. Go to your report management site (usually http://localhost:Reports) and download the report.  This will save out the RDL for you.


  1. Now when you deploy this report to the non-R2 SSRS server, it will be the correct, non-R2 format!

The crucial steps are setting that Target Server Version and deploying.  That's where the Visual Studio report project converts the RDL file to the format you need it to be.  After that, the downloading is just a way to get a copy of the report in the non-R2 format.

Now you can deploy the RDL to the customer's non-R2 SSRS server, without changing your dev box.