Build .NET Core 3.0 on Azure Pipelines

2019-07-04 06:20发布

问题:

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://docs.microsoft.com/en-us/azure/devops/pipelines/languages/dotnet-core?view=azure-devops

回答1:

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

- task: DotNetCoreInstaller@0
  displayName: 'Install .net core 3.0 (preview)'
  inputs:
    version: '3.0.100-preview6-012264'

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.

Installation results:



回答2:

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://docs.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



回答3:

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.



回答4:

I use .net core 2.2 but, it released .net core 3.0 preview 6 [1] yesterday. you can use config below. I suggest inspect release-metadata serves [2].

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

[1] https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/3.0/releases.json

[2] https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops