我使用的是SQL Server 2014报表服务器(http://localhost/Reportserver上显示的报表服务器版本 12.0.4100.1 ),并且还在使用Visual Studio 2013进行开发。
最近我开始研究新PC并且只安装了Visual Studio 2015企业版。目前我的报告是使用Visual Studio 2013附带的商业智能开发的,我无法在新PC上打开我的报告项目。因此,我安装了商业智能工具以与Visual Studio 2015相匹配,并对2个报告进行了小的更改。无论如何,我注意到报告的设计代码发生了巨大的变化。
问题是,当我尝试将更改的报告上传到报表服务器界面上的报表服务器时,收到错误消息:
此报告的定义无效或不受此支持 Reporting Services的版本。报告定义可能是 使用更高版本的Reporting Services创建,或包含内容 基于Reporting Services的格式不正确或无效 模式。详细信息:报表定义的目标无效 命名空间 ' http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' 无法升级。 (rsInvalidReportDefinition)获取在线帮助
我仍然可以通过选择解决方案上的部署选项,将同一报告从Visual Studio 2015上传到同一台服务器。
有人可以帮助我将vs 2015设计的报告上传到SSRS。
答案 0 :(得分:11)
我现在正在打电话,所以最近无法仔细检查确切的语法。您可能习惯于从源文件夹中部署.rdls。新版本vs 2015与较旧的服务器版本相比,您需要执行几个简单的步骤。
从Report Server 2016开始,有一个新的文件结构,并且rdl文件中的xmlns发生了变化。使用更新的SSDT-BI的Vs 2015会将您自动打开的每个报告升级为新格式,并将其用作新的源文件。但构建到目标环境将使用旧的xmlns和文件格式创建rdls。
修改强> 只需添加一些我在其他answer中添加的其他信息。
在项目属性下,根据VS版本和安装的SSDT-BI版本,最多可以为TargetServerVersion提供3个选项:
其中每个都在报告XML代码中使用不同的xmlns。当您打开每个报告时,您的源报告.rdl文件将升级到最新的xmlns - 无论喜欢与否。
但是,在部署或构建时,bin文件夹中的.rdl文件将被编译为与目标匹配。只要您使用bin文件夹版本(使用VS部署自动),您就可以将这些版本成功部署到您的服务器。