我已经.rdlc
从 SSRS 2005 转换为 SSRS 2008。现在,当我要构建该项目时,我遇到了错误。
报告定义无效。详细信息:报表定义具有无法升级的无效目标命名空间“ http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition ”。
请给我解决方案。
我已经.rdlc
从 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 行:
<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"/>
完成后,我的程序再次开始编译。
我不完全确定为什么@user2702793 的回答被否决了,因为这个建议挽救了我的职业生涯:
考虑
除了我想保留我的 SSRS 旧版本而不是升级它之外,我遇到了上面提到的非常相似的情况。这基本上让我复制了旧版本,从意外升级的报告中复制内容并将其粘贴到复制的报告中,复制升级报告的名称,删除它并重命名我复制的报告以保留相同的名称刚刚被删除的报告。
编辑:当然,就我而言,我还希望对旧报告进行更改,这些更改都在升级后的报告中,因此我进行了长时间的工作以防止丢失我当前的更改。
对我有用的解决方案是运行 .NET 清理工具,我先尝试了 .NET 框架修复工具,但它不起作用。我在这里阅读了建议
在 webform 的 ReportViewer 属性中,在字段中展开 LocalReport/Path 放置正确的报告路径
可能是转换问题。重新创建一个新的 2008 年报告。我建议使用VS2010。使用 VS2012 编辑报告时,我遇到了同样的问题。