When Visual Studio 2008 was released, SQL Server Reporting Servers 2008 was not ready yet. This meant that they were forced to ship a version of the ReportViewer control that only supported SQL Server 2005’s RDL format. According to Brian Welcker's 2007 blog post, SQL Server 2008 support was supposed to be released the following year. While not a hard promise, it was rather disappointing to hear from Brain Hartman over a year later. On his blog it was announced that an updated ReportViewer would not become available until Visual Studio 2010.
With such a long time between versions, one would think that Microsoft is finally getting everything synced up. Unfortunately that isn’t the case. In the comments of another blog post Brian revealed that the VS 2010 version of ReportViewer will not support SQL Server 2005 reports. This means developers would have to upgrade all of their SQL Server reports at the same time they switch to .NET 4.0.
Meanwhile the SQL Server team has been busy working on SQL Server 2008 R2. Being listed as a revision rather than a whole new version, one would expect that it would be compatible with SQL Server 2008. Regrettably that isn’t the case. William Vaughn has opened a bug report complaining that VS 2010 does not work with the CTPs of SQL Server 2008 R2. This isn’t an oversight, according to Stella Chan this is an intentional design decision. For authoring reports she recommends Business Intelligence Development Studio. For viewing reports in Windows and ASP.NET applications, no recommendation is offered.
Via William’s blog entry on the topic we learned that other vendors are starting to take notice. For example, IBM developerWorks is using this deplorable situation to promote their own offerings.
The solution to all this seems pretty obvious. Remove ReportViewer from Visual Studio’s release cycle entirely and ship it as a plug-in with each version of SQL Server. And in the mean time don’t drop backwards compatibility with every version.