我可以在Visual Studio中控制新SSDT报告的版本吗?

Mic*_*eld 18 reporting-services ssdt-bi visual-studio-2015

我使用Visual Studio SSDT BI加载项为SQL Server Reporting Services创建报表.我创建的项目配置为针对SQL Server版本2008/2012/2014,因为这些是我们客户的目标SQL Server.

但是,在Visual Studio中创建的报表文件似乎都是针对SQL Server 2016.如果我将rdl文件复制到另一台服务器并通过浏览器上传,我被告知它们来自较新版本的SSRS而不能上传.

问题是双重的:

  1. 该<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">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 新文件格式包括在2016命名空间中定义的参数布局部分,但不包括在2010命名空间中:

     <ReportParametersLayout>
                .
                .
                .
     </ReportParametersLayout>
    
    Run Code Online (Sandbox Code Playgroud)

如果我将命名空间更改回2010并删除该ReportParametersLayout部分,则报告在SQL 2012中运行正常,但Visual Studio将在下次打开报告时将其恢复.

(有趣的是,如果我直接从VS部署报告,我会收到警告,指出参数布局在2012年不受支持并被删除,这意味着Visual Studio正在修复报告定义.)

有没有办法强制VS将报告文件保留为以前的版本格式?

Ram*_* A. 12

这是设计的.

请参阅https://connect.microsoft.com/SQLServer/Feedback/Details/2103422

发布者Riccardo [MSFT]于
2015 年12月18日下午5:07 按设计,TargetServerVersion影响构建输出文件,而不是源文件.部署构建输出文件(可以从项目中的\ bin\Debug或\ bin\Release文件夹中获取)而不是源文件.