使用与MSbuild for U-SQL持续集成的项目中不存在目标“Build”

时间:2018-03-28 13:50:28

标签: msbuild azure-devops azure-data-lake u-sql

我正在使用MSBuild继续与vsts集成,以获取链接:https://blogs.msdn.microsoft.com/azuredatalake/2017/10/24/continuous-integration-made-easy-with-msbuild-support-for-u-sql-preview/

但我在使用VSTS Build服务器时面临以下问题

ValidateSolutionConfiguration:   构建解决方案配置“Debug | Any CPU”。 ADLAUSQL1 \ ADLAUSQL1.usqlproj(0,0):错误MSB4057:项目中不存在目标“Build”。 项目“D:\ a \ 1 \ s \ ADLAUSQL1.sln”(1)在节点1(默认目标)上构建“D:\ a \ 1 \ s \ ADLAUSQL1 \ ADLAUSQL1.usqlproj”(2)。 D:\ a \ 1 \ s \ ADLAUSQL1 \ ADLAUSQL1.usqlproj:错误MSB4057:项目中不存在目标“Build”。 完成构建项目“D:\ a \ 1 \ s \ ADLAUSQL1 \ ADLAUSQL1.usqlproj”(默认目标) - 失败。 完成建筑项目“D:\ a \ 1 \ s \ ADLAUSQL1.sln”(默认目标) - 失败。 建立失败。 “D:\ a \ 1 \ s \ ADLAUSQL1.sln”(默认目标)(1) - > “D:\ a \ 1 \ s \ ADLAUSQL1 \ ADLAUSQL1.usqlproj”(默认目标)(2) - >   D:\ a \ 1 \ s \ ADLAUSQL1 \ ADLAUSQL1.usqlproj:错误MSB4057:项目中不存在目标“Build”。     0警告     1个错误

我的构建参数是 - /p:USQLSDKPath=$(Build.SourcesDirectory)/USQLMSBuild/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180223/build/runtime / p:USQLTargetType = SyntaxCheck / p: DataRoot = $(Build.SourcesDirectory)

任何帮助将不胜感激。如果您需要任何进一步的信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

要解决此问题,请检查以下方面:

  1. usql项目可以使用msbuild成功构建 首先,您应确保您的项目可以在本地计算机上成功构建。然后在VSTS中构建。

  2. 检查MSBuild参数

    假设您的仓库中的项目结构如下:

    root repo
        |___ADLAUSQL1.sln
        |___ADLAUSQL1
               |___ADLAUSQL1.usqlproj
               |___...
    

    然后,您应将USQLSDKPath指定为$(Build.SourcesDirectory)/ADLAUSQL1/packages/Microsoft.Azure.DataLake.USQL.SDK.1.3.180223/build/runtime

    注意: Microsoft.Azure.DataLake.USQL.SDK.1.3.180223表示您在项目中安装Microsoft.Azure.DataLake.USQL.SDK软件包的1.3.180223版。

  3. 正确选择项目的VS版本

    并确保使用正确的VS版本进行构建。由于您使用的是托管代理,请根据您的要求选择托管代理或托管VS2017代理:

    • 如果您想使用VS2015构建项目,则应选择“托管代理”。
    • 如果您想使用VS2017构建项目,则应使用Hosted VS2017代理。
  4. enter image description here