我正在使用 Visual Studio SSDT BI 加载项为 SQL Server Reporting Services 创建报告。我创建的项目配置为面向 SQL Server 版本 2008/2012/2014,因为这些是我们客户拥有的目标 SQL Server。
但是,在 Visual Studio 中创建的报告文件似乎都针对 SQL Server 2016。如果我将rdl
文件复制到另一台服务器并通过浏览器上传它们,我会被告知它们来自较新版本的 SSRS 并且不能被上传。
问题是双重的:
该
<Report>
标记包含一个新的 2016 命名空间,该命名空间替换了先前版本中存在的 2010 命名空间:<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition">
新文件格式包括在 2016 命名空间中定义的参数布局部分,但在 2010 命名空间中没有:
<ReportParametersLayout> . . . </ReportParametersLayout>
如果我将命名空间改回2010
并删除该ReportParametersLayout
部分,则报表在 SQL 2012 中运行良好,但 Visual Studio 将在我下次打开报表时将其放回原处。
(有趣的是,如果我直接从 VS 部署报告,我会收到一条警告,指出参数布局在 2012 年不受支持并被删除,这意味着 Visual Studio 正在即时修复报告定义。)
有什么方法可以强制 VS 将报告文件保留为以前版本的格式?