TFS 2017含SSIS、SSRS、SSAS的解决方案构建失败求助
解决SSIS/SSRS/SSAS解决方案构建失败的问题
咱们先从最关键的问题说起——你用的/ignore:.dtproj,.rptproj参数其实没达到你想要的效果:这个参数只是让MSBuild忽略这些项目的构建错误,但它还是会尝试去解析和构建这些项目,这就是为什么你依然看到了SSRS和SSIS的报错。想要彻底跳过这些项目的构建,应该用MSBuild的ExcludeProjects参数,替换成如下的MSBuild参数:
/p:ExcludeProjects="**\*.dtproj;**\*.rptproj"
接下来,咱们逐个拆解你遇到的具体错误,如果你之后需要构建这些BI项目,这些方案也能帮你解决根源问题:
1. SSRS项目:找不到Microsoft.ReportingServices.MSBuilder.targets
这个错误的核心是构建机器上缺少Reporting Services的MSBuild工具链:
- 首先确认构建机器/代理上安装了对应Visual Studio版本的SQL Server Data Tools (SSDT),并且勾选了Reporting Services的组件。
- 如果已经安装,检查MSBuild的执行路径——别用系统默认的
msbuild.exe,改用Visual Studio安装目录下的MSBuild(比如VS2019的路径是C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\msbuild.exe),它会自动关联SSDT的targets文件。 - 手动验证路径:检查
C:\Program Files (x86)\MSBuild\Reporting Services\Microsoft.ReportingServices.MSBuilder.targets是否存在,如果不存在,重新安装SSDT并确保勾选了RS工具。
2. SSIS项目:<DeploymentModel>元素无法识别
这同样是SSDT组件缺失导致的:
- 确保安装了SSDT的Integration Services组件,旧版本的VS可能需要单独安装SSIS的构建工具。
- 如果是在CI/CD管道(比如Azure DevOps)里,选择自带SSDT的托管代理镜像(比如
vs2019-win2019),或者在私有代理上手动安装对应版本的SSDT。 - 另外可以检查你的
.dtproj文件,确认<DeploymentModel>的值是当前SSDT支持的类型(比如ProjectDeploymentModel或PackageDeploymentModel),如果是非常旧的项目,考虑升级项目格式到兼容当前SSDT的版本。
3. SSAS项目:无法加载Microsoft.AnalysisServices.VSHostBuilder.dll
这个问题是缺少Analysis Services的构建组件,或者MSBuild路径配置错误:
- 安装SSDT时务必勾选Analysis Services的组件,确保
Microsoft.AnalysisServices.VSHostBuilder.dll存在于正确的路径。 - 错误里提到的路径是
O:\Microsoft Visual Studio\...,如果你的VS安装在C盘,需要手动指定MSBuild的扩展路径,在MSBuild参数里添加:/p:MSBuildExtensionsPath="C:\Program Files (x86)\MSBuild" - 或者检查构建机器的环境变量,确保
MSBuildExtensionsPath指向了正确的SSDT工具目录。
内容的提问来源于stack exchange,提问作者Shalmali Limbkar
相关产品推荐
相关产品推荐

