【问题标题】:Azure Devops build pipeline doesn't build executablesAzure Devops 构建管道不构建可执行文件
【发布时间】:2020-04-19 15:05:27
【问题描述】:

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

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

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

  • 146 appsettings.deploy.json
  • 186 appsettings.json
  • 416 TestYaml.deps.json
  • 4.608 TestYaml.dll
  • 171.520 TestYaml.exe
  • 656 TestYaml.pdb
  • 154 TestYaml.runtimeconfig.json

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

  • 140 appsettings.deploy.json
  • 179 appsettings.json
  • 394 TestYaml.deps.json
  • 4.608 TestYaml.dll
  • 86.424 TestYaml
  • 632 TestYaml.pdb
  • 146 TestYaml.runtimeconfig.json

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

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

提前感谢您的帮助!

【问题讨论】:

    标签: azure-devops build-pipeline dotnetcorecli


    【解决方案1】:

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

    那是因为:

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

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

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

    请查看this threadthe document 了解更多详情。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      问题是您在 Windows 和 ubuntu 上的 Azure DevOps 上本地构建。如果您将池更改为windows-latest,您将获得您的 exe 文件。请看这里 - Build .NET Core console application to output an EXE

      【讨论】:

        猜你喜欢
        • 2021-01-21
        • 1970-01-01
        • 2022-11-24
        • 1970-01-01
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        • 1970-01-01
        • 2019-12-05
        相关资源
        最近更新 更多