6

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

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

请给我解决方案。

4

8 回答 8

5

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

于 2013-05-01T23:53:07.800 回答
3

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

于 2015-03-05T11:02:22.590 回答
1

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

于 2013-08-21T08:38:57.957 回答
1

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

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

并更改之前所说的第 2 行:

<UsingTask TaskName="Microsoft.Reporting.RdlCompile" 
AssemblyName="Microsoft.ReportViewer.Common, Version=9.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

对此:

<UsingTask TaskName="Microsoft.Reporting.RdlCompile" 
AssemblyName="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

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

于 2013-07-08T17:18:48.347 回答
0

我不完全确定为什么@user2702793 的回答被否决了,因为这个建议挽救了我的职业生涯:

考虑

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

除了我想保留我的 SSRS 旧版本而不是升级它之外,我遇到了上面提到的非常相似的情况。这基本上让我复制了旧版本,从意外升级的报告中复制内容并将其粘贴到复制的报告中,复制升级报告的名称,删除它并重命名我复制的报告以保留相同的名称刚刚被删除的报告。

编辑:当然,就我而言,我还希望对旧报告进行更改,这些更改都在升级后的报告中,因此我进行了长时间的工作以防止丢失我当前的更改。

于 2014-06-10T13:32:48.747 回答
0

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

于 2014-09-23T13:51:42.313 回答
0

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

  • 这对我有用...
于 2015-02-25T21:56:32.420 回答
-1

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

于 2013-12-12T16:10:59.147 回答