我们正尝试使用MS Hosted代理和vmImage(vs2017-win2016)为.net应用程序构建管道,但构建ID失败并出现以下错误。现在,相同的源代码已成功在本地构建服务器上构建,并且由于我们现在正在使用Azure Devops使用MS Hosted代理创建构建管道,因此失败了。
这是我们现在遇到的唯一构建错误。任何有价值的评论或意见都将受到高度赞赏。
错误详细信息如下:
错误分析 生成解决方案(VSBuild)-VSBuild任务
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets(5165,5):错误MSB3073:命令“复制“ D:\用代码1退出了一个\ 1 \ s \ Modules \ HP.AMI.Modules.VirtualHeadEnd \ ResponseTemplates * .xml“ C:\ AMI \ Templates”。
答案 0 :(得分:1)
创建Azure生成管道时生成失败-错误MSB3073-VSBuild任务
当您收到MSBuild错误MSB3073时,这意味着项目中自定义命令行或自定义目标的路径不正确。您需要检查该命令行的路径。
根据您答复的评论,您具有构建后事件命令行:
copy "$(ProjectDir)ResponseTemplates*.xml" C:\AMI\Templates
在没有现有文件夹C:\AMI\Templates
的情况下执行此命令行时,复制命令将报告错误MSB3073。因为找不到目标文件夹。
要解决此问题,我们只需要在复制命令行之前添加另一个构建后事件命令行来创建文件夹,例如:
md C:\AMI\Templates
copy "$(ProjectDir)TextTemplate1.txt" "C:\AMI\Templates"
现在,我们可以使用托管代理vmImage(vs2017-win2016)构建它: