在Azure DevOps Repos中编译目录并将结果保存在某个地方
假设我在Azure DevOps repo中有这样的目录结构:在Azure DevOps Repos中编译目录并将结果保存在某个地方,azure,azure-devops,azure-repos,Azure,Azure Devops,Azure Repos,假设我在Azure DevOps repo中有这样的目录结构: Main/ - A/ - *.csproj - B/ - *.csproj - C/ - *.csproj 每个子文件夹都有一个.csproj文件。我想编译Main/A/文件夹,并将构建结果(工件?)保存在某个地方,可以是文件夹或其他地方。我如何告诉Azure构建精确的Main/A/*.csproj文件,我是否需要在VSBuild@1task,还是我需要使用其他Azure任务 我如
Main/
- A/
- *.csproj
- B/
- *.csproj
- C/
- *.csproj
每个子文件夹都有一个.csproj
文件。我想编译Main/A/
文件夹,并将构建结果(工件?)保存在某个地方,可以是文件夹或其他地方。我如何告诉Azure构建精确的Main/A/*.csproj
文件,我是否需要在VSBuild@1
task,还是我需要使用其他Azure任务
我如何告诉Azure构建精确的主/A/*.csproj文件并执行该操作
我需要在VSBuild@1任务
如果您使用的是经典UI,则需要取消默认解决方案的链接:
然后通过浏览选项选择项目:
如果您使用的是Yaml格式,那么应该使用类似于solution:A/A.csproj
的方法来指定要构建的项目
注意:
因为现在我们构建的是单个项目而不是整个解决方案,所以我们应该使用项目配置
而不是解决方案配置
AnyCPU
是解决方案平台,而不是项目平台(AnyCPU
)。因此,如果我们想使用此设置构建一个项目,那么我们应该确保使用AnyCPU构建单个项目
如果出现错误,则未为项目“A.csproj”设置OutputPath属性,这表明您应使用有效的项目配置。在您的情况下,如果您正在使用any cpu
,请将其更改为AnyCPU
此外:
1.将生成结果发布为生成工件以供进一步使用。您可以像这样使用复制文件
任务和发布构建工件
任务:
然后,您可以从构建日志页面下载摘要选项卡中的Test.zip。此外,您可以通过使用下载工件任务在发布管道中使用此工件
如果您试图构建代码项目而不是整个解决方案,请选中。您可以考虑<代码> MSBudio任务。它们(Msbuild任务,VS Build任务)都调用Msbuild.exe来执行生成作业
希望以上所有帮助:)谢谢。现在,管道的MSBuild阶段显示错误:error:此项目引用此计算机上缺少的NuGet包。使用NuGet Package Restore下载它们。
在我的YAML文件中,我已经有了NuGetCommand@2
使用命令:“还原”
选项1。是否还原整个解决方案?请检查nuget restore任务的日志,以确保已成功安装软件包。2.目标框架是什么,如果是.net核心和.net标准项目,任务更适合3。尝试指定您使用的nuget工具版本,将nuget工具安装程序任务与nuget.exe 5.3.1版或其他版本一起使用。(默认的4.4太旧了。)我成功地解决了这个问题,删除了一个名为Migration…
的文件夹,我不明白为什么会有这个文件夹。我还有一个问题。我想构建A/*.csproj
项目,我想让Azure给它一个特定的名称,包括$(日期:yyy)
,但使用它时会显示此错误:错误MSB4184:表达式。。。无法评估。路径不是合法的形式。< /代码> @ FrancoScarpa,似乎你原来的问题已经解决了,你可以考虑把它添加为答案。打开一条关于新问题的新线索,因为它们是不同的问题。