我正在开发一个构建Microsoft SSRS解决方案的持续集成项目。但是,生成的RDL文件并不总是具有相同的模式版本,其中一些以2008格式显示,而其他一些在2010年等,如下所示:
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
其他人看起来像
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
我有一个Build.proj文件,负责在.sln文件上执行MSBuild,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTarget="Compile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="Compile">
<MSBuild
Projects="$(BuildDirectory)\ReportsPrimary.sln"
Properties="Configuration=$(Environment)"
/>
<MSBuild
Projects="$(BuildDirectory)\ReportsSecondary.sln"
Properties="Configuration=$(Environment)"
/>
<MSBuild
Projects="$(BuildDirectory)\ReportsSpecial.sln"
Properties="Configuration=$(Environment)"
/>
</Target>
</Project>
我需要一种方法来强制执行从构建生成的RDL架构是2008版本。是否可以在Build.proj文件中执行某些配置,以便RDL格式符合2008架构版本?
如果没有,我怎么能实现相同的功能?有什么建议? CI对我来说相对较新
全部谢谢!
答案 0 :(得分:0)
MSBuild不支持报告项目,也不会将RDL文件转换为正确的格式。
您可以使用Visual Studio机制来构建SSRS项目。
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
"MyReportingProjPath\MyReportingProj.sln" /build release
使用折叠的RDL文件更新您的报告。
https://blogs.infosupport.com/managing-ssrs-reports-with-powershell/