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

标签 reporting-services visual-studio-2015 ssdt-bi

我正在使用 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 将报告文件保留为以前版本的格式?

    最佳答案

    这是设计使然。

    https://connect.microsoft.com/SQLServer/Feedback/Details/2103422

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

    关于reporting-services - 我可以在 Visual Studio 中控制新 SSDT 报告的版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36071175/

    相关文章:

    c# - 如何扩展 Entity Framework 6.1.3 生成的类?

    visual-studio-2013 - 无论如何要部署在 VS 2013 中构建的 SSIS 2012 项目?

    reporting-services - 如何在SSRS报告中将每一行显示为不同的页面?

    visual-studio-2015 - 无法安装 Visual Studio 扩展 .VSIX

    c# - Visual Studio 2015 - C# Windows 通用应用程序缺少程序集引用

    c# - SSIS - 如何使脚本组件失败任务?

    c# - 如何解决SSRS "Could not load Authorization extension"异常?

    asp.net - RDLC和SSRS之间的区别

    visual-studio-2012 - 报表预览找不到数据源文件夹