0

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

在此处输入图像描述

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

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

  • 第146章
  • 第186章
  • 第416章
  • 4.608 TestYaml.dll
  • 171.520 TestYaml.exe
  • 第656章
  • 第154章

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

  • 140 应用程序设置.deploy.json
  • 第179章
  • 第394章
  • 4.608 TestYaml.dll
  • 86.424 测试Yaml
  • 第632章
  • 第146章

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

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

在此先感谢您的帮助!

4

2 回答 2

5

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

那是因为:

可执行文件不是跨平台的。它们特定于操作系统和 CPU 架构。在发布您的应用程序并创建可执行文件时,您可以将应用程序发布为自包含或 运行时依赖的.

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

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

请检查此线程文档以获取更多详细信息。

希望这可以帮助。

于 2020-04-20T06:55:31.523 回答
1

问题是您在 Windows 和 ubuntu 上的 Azure DevOps 上本地构建。如果您将池更改为windows-latest您将获得您的 exe 文件。请在此处查看 -构建 .NET Core 控制台应用程序以输出 EXE

于 2020-04-19T20:11:36.130 回答