KoalaBear
KoalaBear

Reputation: 2940

Build .NET Core 3.0 on Azure Pipelines

Yes, I know .NET Core 3.0 is still in preview. I would like to build this on Azure Pipelines.

Is there an easy way to do this?

Currently getting this error:

/usr/share/dotnet/sdk/2.2.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.0. Either target .NET Core 2.2 or lower, or use a version of the .NET SDK that supports .NET Core 3.0.

edit

I found official documentation about this:

https://learn.microsoft.com/en-us/azure/devops/pipelines/languages/dotnet-core?view=azure-devops

Upvotes: 40

Views: 23029

Answers (7)

ibrahimatay
ibrahimatay

Reputation: 59

I use .net core 2.2 but, it released .net core 3.0 preview 6 yesterday. you can use config below. I suggest inspecting release-metadata serves.

steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk'
  inputs:
    packageType: sdk
    version: 3.0.0-preview5
    installationPath: $(Agent.ToolsDirectory)/dotnet

Upvotes: 1

Evgenii Kosiakov
Evgenii Kosiakov

Reputation: 605

In case someone is using Web GUI instead of yaml files. It's possible to set up Agent Specification with windows-2019 value.

enter image description here

Such steps as dotnet test will start using .Net Core 3.0:

enter image description here

Upvotes: 11

Shayki Abramczyk
Shayki Abramczyk

Reputation: 41545

You can install the .Net core SDK 3.0 during the pipeline with .Net Core SDK Installer task:

- task: UseDotNet@2
  displayName: 'Install .net core 3.0 (preview)'
  inputs:
    packageType: sdk
    version: '3.0.100-preview6-012264'
    installationPath: $(Agent.ToolsDirectory)/dotnet

I specified the last preview version of .net core sdk 3.0, you can put an earlier version, you can find here the versions list.

Another option is to specify 3.0.x and enable the preview versions:

version: 3.0.x
includePreviewVersions: true

Installation results:

enter image description here

Upvotes: 50

A. Gladkiy
A. Gladkiy

Reputation: 3450

You can add task Use .NET Core and insert needed version in Version field like this 3.0.100-preview9-014004, mark Include Preview Versions as checked.

Execute this task before any other .NET Core tasks.

Upvotes: 1

Travis Troyer
Travis Troyer

Reputation: 855

You can get the latest .NET Core 3 SDK by supplying 3.x instead of a specific version. Also note includePreviewVersions: true, which is required to make this work.

- task: UseDotNet@2
  displayName: 'Use dotnet sdk 3.x'
  inputs:
    version: 3.x
    includePreviewVersions: true

And you'll end up with something like this:

enter image description here

Source: .NET Core Tool Installer task

Upvotes: 16

Troy Miller
Troy Miller

Reputation: 71

You can also install the SDK via the "old" Pipeline editor. Add a new task and search for the ".NET Core SDK Installer." Then switch the version at the top to the latest preview version and it will offer you more options, like the "Include Preview Versions" check box. You'll still have to type in the version you want manually.

Screenshot of my task:

Upvotes: 7

4c74356b41
4c74356b41

Reputation: 72151

You can specify .net core SDK version with the .NET Core Tool Installer Task. But I dont think it allows 3.0 yet apparently it does, so you probably need to create a container with 3.0 and use that as a build environment. That would work.

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view=azure-devops&tabs=yaml

sample yaml:

resources:
  containers:
  - container: inflation
    image: yyy
    endpoint: xxx

jobs:
- job: inflate_infrastructure
  container: inflation << has to match the container name above
  pool:
    vmImage: 'Ubuntu-16.04'
  steps:
  - zzz

Upvotes: 1

Related Questions