【问题标题】:Azure Pipelines: Dotnet publish fails with exit code 1 after migrating to .NET Core 3.1Azure Pipelines:迁移到 .NET Core 3.1 后,Dotnet 发布失败,退出代码为 1
【发布时间】:2020-02-19 15:45:10
【问题描述】:

我有一个要设置的 Azure 管道:

  • 使用 .NET Core SDK 3.1.x
  • Dotnet 恢复
  • Dotnet 构建
  • Dotnet 发布

使用 .NET Core 任务看起来像这样,它在上面提到的所有其他任务之前运行:

除了Dotnet Publish

,所有作业都成功执行

此作业因以下错误而崩溃:

[错误]错误:进程“C:\hostedtoolcache\windows\dotnet\dotnet.exe”失败,退出代码为 1

[警告]信息:Azure Pipelines 托管代理已更新为包含 .Net Core 3.x SDK/Runtime 以及 2.2 和 2.1。除非您为项目锁定了 SDK 版本,否则可能会选择 3.x SDK,与以前的版本相比,它可能具有破坏性行为。

我为 Use .NET Core SDK Job 尝试了不同的版本变体,但是它们都导致了相同的错误。

发布工作:

提前致谢。感谢有人能告诉我我可能做错了什么。

【问题讨论】:

  • 您是托管自己的构建代理还是使用 Azure 中提供的构建代理?
  • 在 Azure 中提供了一个
  • 你为什么不显示发布任务,这是导致问题的原因
  • 抱歉,我认为实际发布作业不太可能出现此问题。刚刚使用发布作业更新了案例
  • 提示:$(buildPlatform) 设置为什么?

标签: asp.net-core .net-core azure-devops azure-pipelines


【解决方案1】:

发现这个问题与 Azure Pipelines 无关,它是由我的 .csproj 中引用的包引起的:

<DotNetCliToolReference Include="Microsoft.DotNet.Xdt.Tools" Version="2.0.0" />

此包依赖于 .NETCoreApp 2.0

发现作者新建了一个包: https://www.nuget.org/packages/DotNet.Xdt# https://github.com/nil4/dotnet-transform-xdt

现在与 .NET Core 3.x 兼容

【讨论】:

    【解决方案2】:

    这是我为安装特定版本的 dotnet core 所做的:

    - task: UseDotNet@2
      inputs:
        packageType: 'sdk'
        version: '3.1.101'
    

    我发现的唯一区别是您必须准确指定 SDK 版本的 SDK 版本。

    【讨论】:

    • 感谢您的回复。不幸的是,我已经尝试过了,但没有成功。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    相关资源
    最近更新 更多