在CI / CD实施期间使用MSBuild构建SSIS项目时出错

有人在使用msbuild构建SSIS项目时遇到以下错误吗?我的机器中装有Visual Studio 2015。使用MSBuild 14.0 “ *

  

错误MSB4041:项目的默认XML名称空间必须是   MSBuild XML名称空间。如果项目是在MSBuild 200 3中编写的   格式,请添加   xmlns =“ http://schemas.microsoft.com/developer/msbuild/2003”    元件。如果项目是在旧版1.0中编写的,则   1.2格式,请转换为MSBuild 2003格式。

*” 我已经在线浏览了一些文章,但是在这种情况下找不到解决方案。

tianya56789 回答:在CI / CD实施期间使用MSBuild构建SSIS项目时出错

  

*“我已经在线浏览了一些文章,但是在这种情况下找不到解决方案。

恐怕答案是否定的。目前不支持这种情况(使用msbuild构建SSIS项目)。

有人在DC论坛上发布了此问题,请参阅Support SSIS,SSRS,SSAS in MSBuild。因此,如果您尝试将天蓝色devops用于CI / CD流程,请进行投票并跟踪该问题,以便在有任何更新时获得通知。而且,如果您正在使用其他工具进行CI / CD处理,建议您打开new feature request以支持在本地计算机中为独立的msbuild工具进行SSIS构建。

以下两种变通办法可能会有所帮助:

1。由于已安装VS2015,因此可以尝试使用msbuild command,而不是devenv command

对于VS2015,我们可以在路径devenv.exe中找到devenv.comC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDEdevenv.exedevenv.com都可以使用,但是请注意:直接使用devenv.exe可以防止输出出现在控制台上

因此devenv.xxx ... xxx.dtproj /build可以构建SSIS项目。

2。我们可以在Microsoft.SqlServer.IntegrationServices.Build.dll中找到SQL Server Data Tools的二进制(C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE)。然后,我们可以使用msbuild UsingTask element来调用该程序集中定义的任务。

核心是在定义以下语句后,在自定义msbuild目标中调用SSIS构建的DeploymentFileCompilerTask任务:

<UsingTask TaskName="DeploymentFileCompilerTask" AssemblyFile="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.SqlServer.IntegrationServices.Build.dll" />

更多详细信息,请参阅herehere

更新

如果在同一解决方案中有多个数据库项目和SSIS项目。直接使用devenv.com xx.dtproj之类的命令实际上将构建所有项目。

所以我建议我们以这种方式使用命令:

  1. 打开VS的开发人员命令提示符
  2. cd到解决方案目录
  3. 使用命令:devenv.com SolutionName.sln /Build Development /Project SolutionName\xxx.dtproj /ProjectConfig Development

这只会实际构建SSIS项目。

此外:如果看到消息The project 'DatabaseProjectName.sqlproj' will close once model building has paused。如果它不影响您的构建,请忽略它。经过检查后,如果使用上面的命令,是否真的不会建立数据库项目(数据库项目的输出为空)。

本文链接:https://www.f2er.com/3119818.html

大家都在问