gpt4 book ai didi

msbuild - USQL msbuild - 复合构建输出

转载 作者:行者123 更新时间:2023-12-02 16:37:08 24 4
gpt4 key购买 nike

我正在按照此链接 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com