【问题标题】:Can I use a hosted build agent to build a VS 2019 project that targets both netcore 2.1 and 3.1?我可以使用托管构建代理来构建同时针对 netcore 2.1 和 3.1 的 VS 2019 项目吗?
【发布时间】:2020-02-14 13:35:27
【问题描述】:

我有一个针对 netcore 2.1 的 VS 2017 项目。这是使用托管 vs 2017 代理上的 YAML 构建管道构建和部署的。

我们需要支持 netcore 3.1 和 2.1,所以我将项目更新到 VS 2019 并将其更改为多目标 netcore 2.1 和 3.1。这在我的开发机器上构建良好,但(显然)在使用 vs 2017 映像的现有构建管道上失败。

基于documentation,我已更新构建管道以使用“windows-2019”vm 映像。

但是,这给了我以下错误消息:

The framework 'Microsoft.NETCore.App', version '2.1.0' was not found.

我宁愿不在内部为此创建和维护构建服务器,所以它可以在托管代理上吗?

【问题讨论】:

  • 我无法在托管代理 windows-2019 中使用 <TargetFrameworks>netcoreapp3.1; netcoreapp2.1</TargetFrameworks> 重现此问题,但它工作正常。能否将您的项目文件和 yaml 分享给我们,以便我们重现此问题?
  • 我发现问题并不像最初出现的那么简单。问题是测试项目的目标是 netcore 2.1,我们使用的是 vstest 任务而不是 netcore 测试(我们需要使用它是出于其他原因)。测试在调试和发布配置上运行 x64 和 x86。我们只有在执行 x86 测试时才会遇到问题。我通过将测试项目更新为目标 netcore 3.1 解决了这个问题

标签: azure-devops azure-devops-hosted-agent


【解决方案1】:

事实证明这是由仍然针对 netcore 2.1 的测试项目引起的。

我们的构建管道在 x86 和 x64 上运行测试(使用 vstest 任务),只有 x86 测试失败。

在我们将测试项目更新到 netcore 3.1 后,它按预期工作并且测试通过了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多