我正在进行VSTS的第一次构建,我不得不在SO上提出一些问题。 我现在能够恢复nuget包并构建我的项目,但现在我必须确保将工件复制到正确的位置。 我上次构建尝试失败的原因是:目录' d:\ a \ 1 \ a'是空的。什么都不会被添加到构建工件' drop'。 我的构建被定义为;
从构建中我得到了这个错误;
Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
我该如何解决这个问题?
答案 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)