Azure Devops 构建管道不构建可执行文件

Azure Devops build pipeline doesn't build executables

我使用以下 Yaml 设置了一个 azure 构建管道

这个项目是一个简单的 hello world 控制台应用程序,用 c# .net core 3.1 编写

当我在本地构建或发布此项目时,我得到以下输出:

但是,通过构建管道发布的工件为我提供了这些文件:

所以在这里,文件大小更小,更重要的是 TestYaml.exe 丢失并被 TestYaml 文件替换。

这应该很简单,但我看不出缺少什么。

在此先感谢您的帮助!

问题是您在 Windows 上本地构建,在 ubuntu 上构建 Azure DevOps。如果将池更改为 windows-latest,您将获得 exe 文件。请看这里 -

Azure Devops build pipeline doesn't build executables

那是因为:

Executables aren't cross-platform. They're specific to an operating system and CPU architecture. When publishing your app and creating an executable, you can publish the app as self-contained or runtime-dependent.

因此,当您使用 ubuntu 代理 build/publish 项目时,它将生成 .dll 而不是 .exe 文件。此 dll 文件适用于 .net 核心运行时 (windowslinuxmacOS) 支持的所有平台。

要生成 .exe 文件,您可以在参数中指定目标运行时 -r win-x64 或者您可以简单地将代理更改为 windows.

请查看 and the document 了解更多详情。

希望这对您有所帮助。