VSTS:目录' d:\ a \ 1 \ a'是空的。什么都不会被添加到构建工件' drop'

时间:2017-05-24 08:56:18

标签: visual-studio-2017 azure-pipelines

我正在进行VSTS的第一次构建,我不得不在SO上提出一些问题。 我现在能够恢复nuget包并构建我的项目,但现在我必须确保将工件复制到正确的位置。 我上次构建尝试失败的原因是:目录' d:\ a \ 1 \ a'是空的。什么都不会被添加到构建工件' drop'。 我的构建被定义为; enter image description here

复制文件 enter image description here

.Net Core构建; enter image description here

并发布; enter image description here

从构建中我得到了这个错误;

Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:6)

首先,删除" ; "在Properties.EF6之前(/t:;Properties.EF6;Sir.Domain)。

注意:如果Sir.WebUI依赖于Properties.EF6,Sir.Domain,Sir.EF6和StandardClassLibrary,则只需要构建Sir.WebUI项目。

其次,对于.Net Core任务,将构建命令更改为发布,参数为 -o $(build.artifactstagingdirectory)\ SIR

第三,删除“复制文件”任务(不需要将文件复制到工件)。

答案 1 :(得分:1)

您需要复制并添加工件,因此对我来说,我必须将此代码添加到我的.yaml文件的末尾

- task: CopyFiles@2
  inputs:
    targetFolder: '$(Build.ArtifactStagingDirectory)'    

- task: PublishBuildArtifacts@1    
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'

答案 2 :(得分:0)

如果您计划在 azure devops 中使用发布管道,则默认构建参数不起作用。

在构建步骤中对 MS BuildArguments 使用以下命令将一个包放入暂存目录:$(build.artifactstagingdirectory)

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

在发布工件步骤中使用与值相同的位置:

$(build.artifactstagingdirectory)