如何在Azure DevOps VSBuild任务中指定要构建的项目? [英] How to specify project to build in Azure DevOps VSBuild task?

查看:0
本文介绍了如何在Azure DevOps VSBuild任务中指定要构建的项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Azure DevOps中有此YAML管道:

variables:
  solution: 'fph.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:

- xxxx

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)WebApp.zip" /t:FPH_ApiFPH_Api_csproj;Rebuild'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

该解决方案包含多个项目,我希望通过提供DesktopBuildPackageLocation参数和FPH_ApiFPH_Api_csproj;Rebuild目标参数,VSBuild将重新生成我的Web API项目(因此也将重新生成其他引用的项目),然后自动将生成压缩到webapp.zip中。

但是,我收到以下错误:

项目中不存在fph_ApiFPH_Api_csproj";。

我将FPH.APIFPH.api.csproj中的点替换为下划线,因为点是禁用字符,并尝试了几种组合,如FPH_ApiFPH_ApiFPH_Api,但收到相同的错误消息。

详细信息错误显示:

Project "D:a1sfph.sln" (1) is building "D:a1sFPH.ApiFPH.Api.csproj" (2) on node 1 (FPH_ApiFPH_Api_csproj target(s)).
D:a1sFPH.ApiFPH.Api.csproj : error MSB4057: The target "FPH_ApiFPH_Api_csproj" does not exist in the project.
Done Building Project "D:a1sFPH.ApiFPH.Api.csproj" (FPH_ApiFPH_Api_csproj target(s)) -- FAILED.

我做事情的方式似乎不正确。那么,是否可以使用VSBuild任务在解决方案中生成项目并自动压缩输出?

推荐答案

我可以在我的管道中重现您的问题。

若要解决此问题,您可以将目标定义为文件夹级别,而不是csproj文件级别。

例如:

文件结构:(csproj文件在Sample.WebAPI文件夹下)

参数:/t:Sample_WebApi:Rebuild

- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '$(Parameters.solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)WebApp.zip" /p:DeployIisAppPath="Default Web Site"   /t:Sample_WebApi:Rebuild'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

有关How to: Build specific targets in solutions by using MSBuild.exe的详细信息,请参阅本文档

这篇关于如何在Azure DevOps VSBuild任务中指定要构建的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆