msbuild - USQL msbuild - 复合构建输出

标签 msbuild azure-pipelines u-sql

我正在按照此链接 https://blogs.msdn.microsoft.com/azuredatalake/2017/10/24/continuous-integration-made-easy-with-msbuild-support-for-u-sql-preview/ 上的说明进行操作

它指出

After running MSBuild from command line or as a VSTS task, all scripts in the U-SQL project are built and output to a single file at "Build output path/script name/script name.usql". You can copy this composite U-SQL script to the release folder for further deployment.

在我的 Visual Studio 项目 (.usqlproj) 中,我有多个 .usql 脚本

  • 创建数据库.usql
  • CreateTable.usql
  • CreateTvf.usql

当我执行 clean 和 msbuild 然后检查 bin\debug 文件夹时,我得到的只是 CreateDatabase.usql 并且其中只有 CREATE DATBASE 语句。根据博客,我原以为所有 3 个 usql 脚本都会合并为 1 个复合 usql 脚本。我从机器上的命令提示符执行的 msbuild 命令

msbuild TheProject\TheProject.usqlproj /t:Clean /t:Rebuild /property:USQLSDKPath=C:\TheProject\src\packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.1019-preview\build\runtime,USQLTargetType=Merge

我使用的是 Visual Studio 2017 15.4.3 和 Azure Data Lake 工具 2.3.0000.1

我做错了什么?

最佳答案

由于一些遗留原因,为了确保usqlproj中的所有文件都已构建,条件定义在 USqlSDKBuild.targets如下 <ItemGroup> <FileToBuild Condition="'$(JustOneFile)' == '' and '$(Build_all_files_in_this_project)' != 'true'" Include="$(ActiveFile)" /> <FileToBuild Condition="'$(JustOneFile)' != '' " Include="$(JustOneFile)" /> <FileToBuild Condition="'$(Build_all_files_in_this_project)' == 'true'" Include="Build_all_files_in_this_project" /> </ItemGroup>

对于当前预览版本,请将“/property:Build_all_files_in_this_project=true,JustOneFile=''”添加到命令行,以确保构建所有脚本。我们将在以后的版本中更新这一点,并提供更简单的条件。

关于msbuild - USQL msbuild - 复合构建输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47270123/

相关文章:

azure-data-lake - 如何在 USQL UDO 中记录一些内容?

c++ - 使用批处理文件使用 Cmake 和 Msbuild (vs2010) 单击一次构建我的项目

Jenkins:如果没有发现更改则跳过构建

.net - 解决 MSBuild 4.0 警告

azure - 是否可以根据 Azure DevOps 中的其他字段选择自动填充字段?

azure - U-SQL 错误 - 更改标识符以使用至少一个小写字母

命令行中的 Msbuild 不输出 Csc 警告和输出

.net - Azure Devops 管道和多项目 Docker

Azure DevOps 在给定现有 YAML 的情况下通过 REST API 创建构建定义

sql - U-SQL 如何为每个日期选择前 3 个异常(exception)