报告定义无效

我已经将.rdlc rerort从SSRS 2005转换为SSRS 2008.现在,当我要构建该项目时,我遇到了错误。

报告定义无效。 详细信息:报表定义具有无效的目标命名空间“ http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition ”,无法升级。

请给我解决方案。

刚遇到这个问题,因为我遇到了同样的问题。 在我的例子中,我引用了旧版本的ReportViewer.WinForms。 当我切换版本时,一切正常。 可能与你的情况不一样,但只是想我会报复,以防其他人找到这个页面。

我遇到了一个几乎类似的问题,但在另一个版本的visual studio(2012)中我发现问题来自Microsoft.ReportViewer.WebForms.dll或winforms的版本。 您可能仍在引用与当前版本的visual studio相关的旧版本,因此请检查dll版本,如果是,请将其删除并添加最新版本

我遇到了同样的问题,我的解决方案是编辑文件:

 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0 \ReportingServices\Microsoft.ReportingServices.targets 

改变第2行,之前说过:

  

对此:

  

完成后,我的程序再次开始编译。

我有同样的问题。 对我来说,解决方案是从项目中排除报告并再次添加。 之后,它成功编译。

我不完全确定为什么@ user2702793的答案得到了投票,因为这个建议只是挽救了我的职业生涯:

考虑

  1. 创建空白SSRS 2008报告并将SSRS 2005报告中的所有内容复制到新报告中
  2. 如果要保持报告的名称不变,请复制SSRS 2005报告的名称
  3. 删除该报告(您刚刚将内容复制到新报告中的SSRS 2005)
  4. 重命名新的SSRS 2008(删除了SSRS 2005报告中的内容)并粘贴报告名称。

我有一个非常类似的情况,除了我想保留我的SSRS旧版本而不是升级它。 这基本上让我制作了旧版本的副本,将内容从意外升级的报告中复制出来并将其粘贴到复制的报告中,然后复制升级后的报告的名称,删除它并重命名我复制的报告以保留相同的名称刚刚删除的报告

编辑:当然,在我的情况下,我还希望对旧报告进行更改,这些更改都在升级后的报告中,因此我需要花费大量时间来避免丢失当前的更改。

对我有用的解决方案是运行.NET清理工具,我首先尝试了.NET框架修复工具,但它没有用。 我在这里阅读建议

在webform中的ReportViewer属性中,在字段中展开LocalReport / Path,放置正确的报告路径

  • 这对我有用……

这可能是转换问题。 重新创建新的2008年报告。 我建议使用VS2010。 使用VS2012编辑报表时遇到同样的问题。