首页 > 解决方案 > VSTS MSDeploy 深层嵌套路径

问题描述

我正在使用 VSTS 构建来发布我的 ASP.Net 项目,并且我正在使用下面的 MSBuild 参数来创建包。

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageTempRootDir=Binaries/$(BuildConfiguration) /p:PackageLocation=$(Build.stagingDirectory)\xxxxxxx.zip

它在如下所示的路径中生成一个包

api_drop\API\Content\D_C\a\1\s\Source\xxxxx.API\ABC.PSP.OuC.TMW.Api\obj\Release\net471\PubTmp\Out

现在我希望压缩 Out 目录中的二进制文件,但 MsDeploy 命令为我提供了完整的上述 zip 路径。

我怎样才能把它弄平?

谢谢

标签: asp.net-mvcazure-devops

解决方案


您可以尝试在没有 zip 的情况下输出文件,然后您可以尝试以下方式:

  1. 仅指定参数OutputPath(不指定包相关参数):

例如:

/p:OutputPath="$(build.artifactstagingdirectory)\cc"

您还可以将目标文件输出到共享路径(UNC 路径):

例如:

/p:OutputPath="\\myshare\DirA\0313"
  1. 然后使用Copy and Publish build Artifacts任务来发布文件。或者,您可以添加Copy Files任务以将文件复制OutputPathTemp 文件夹,然后使用Publish build Artifacts任务从Temp 文件夹发布文件。

  2. 添加zip任务以压缩文件


推荐阅读