如何使用TeamCity和Visual Studio 2015构建SSRS报告(rptproj)

3
我们有一个构建步骤,使用Visual Studio(sln)作为运行程序类型来构建约70个项目的解决方案。通过这种方式,我们能够成功构建其他不受MSBuild支持的项目,例如vdproj文件和office插件。然而,对于SSDT/SSRS项目似乎不起作用。我确保已将SSDT的最新版本安装到Visual Studio中,并且在构建服务器上直接安装了Visual Studio 2015。 rptproj不受MSBuild支持,无法构建 我需要做些什么才能使这些项目正确构建?我读过一些人将它们移动到自己的解决方案中,但这不是我们想要的,也不确定这真的是问题的解决办法。
这对我们很重要,因为我们需要以SQL 2008为目标的生成输出,而不是直接复制项目中的RDL(工具版本为SQL 2016)。
1个回答

5
您需要通过调用Visual Studio可执行文件(devenv.exe)来构建rptproj:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "[fullpath]\FooBarSolution.sln" /Rebuild [SolutionConfiguration] /Project KPI /Log "[fullpath]\Logs\KPI.Build.Log.log" /Out "[fullpath]\Logs\KPI.Build.Out.log"

此外,您还需要将项目的TargetServerVersion属性设置为SQL Server 2008。
请参考以下图片进行设置:enter image description here

1
这就是我们目前的所有设置。TeamCity中的Visual Studio SLN运行器调用devenv.com/exe,我们的目标版本已经是2008年。问题在于,尽管我们没有使用MSBuild,但通过TeamCity构建时仍然认为rptproj文件不支持MSBuild。 - David Anderson
2
今天在看到你的帖子后,我进一步研究了这个问题 - 我没有意识到 Visual Studio (SLN) 构建运行器实际上仍然调用 MSBuild.exe。我使用了命令行并调用了 devenv.com(devenv.exe 由于它可以生成 UI 提示而挂起构建)。问题解决了 - 感谢您提供额外的见解。 - David Anderson
4
值得注意的是,devenv.exe以静默方式运行,而devenv.com则将构建输出发送到控制台。 - b_levitt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接