我使用以下Yaml设置了Azure构建管道
该项目是一个简单的hello world控制台应用程序,用c#.net core 3.1编写。
当我在本地构建或发布该项目时,我得到以下输出:
但是,通过构建管道发布的Artifacts给了我这些文件:
因此,在这里,文件大小较小,更重要的是缺少TestYaml.exe,并由TestYaml文件代替。
这应该很简单,但是我看不到缺少什么。
提前感谢您的帮助!
答案 0 :(得分:1)
问题是您在Windows和ubuntu的Azure DevOps上本地构建。如果将池更改为windows-latest
,则将得到exe文件。请在这里看看-Build .NET Core console application to output an EXE
答案 1 :(得分:1)
Azure Devops构建管道无法构建可执行文件
那是因为:
可执行文件不是跨平台的。它们特定于操作系统和CPU体系结构。发布应用时, 创建可执行文件后,您可以将应用发布为自包含文件或 与运行时相关。
因此,当您使用.dll
代理构建/发布项目时,它将生成.exe
而不是ubuntu
文件。该dll文件可在.net核心运行时(windows
,linux
,macOS
)支持的所有平台上运行。
要生成.exe文件,可以在参数-r win-x64
中指定目标运行时,也可以简单地将代理更改为windows
。
请检查this thread和the document了解更多详细信息。
希望这会有所帮助。