This is only happening on the MacOS image on Azure Pipelines. I'm installing the 3.1.100 SDK via dotnet-install.sh, then compile a project targeting netcoreapp3.0, and then try to run it, but get a The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found..
My initial thought was that this could get fixed with rollForward, but the error message from dotnet indicates that it doesn't even see the freshly installed SDK (not globally).
Here is the bootstrapping script.
Here is the relevant output from the complete log:
2020-01-07T19:26:18.0072810Z dotnet-install: Downloading link: https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.100/dotnet-sdk-3.1.100-osx-x64.tar.gz
2020-01-07T19:26:23.8153150Z dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.100/dotnet-sdk-3.1.100-osx-x64.tar.gz
2020-01-07T19:26:27.9798490Z dotnet-install: Binaries of dotnet can be found in /Users/runner/runners/2.163.1/work/1/s/.tmp/dotnet-unix
2020-01-07T19:26:27.9799370Z dotnet-install: Installation finished successfully.
2020-01-07T19:26:28.1148740Z Microsoft (R) .NET Core SDK version 3.1.100
2020-01-07T19:26:28.2336370Z
2020-01-07T19:26:28.2388170Z Welcome to .NET Core 3.1!
2020-01-07T19:26:28.2389020Z ---------------------
2020-01-07T19:26:28.2389140Z SDK Version: 3.1.100
2020-01-07T19:26:28.2389410Z
2020-01-07T19:26:28.2390090Z ----------------
2020-01-07T19:26:28.2390500Z Explore documentation: https://aka.ms/dotnet-docs
2020-01-07T19:26:28.2390610Z Report issues and find source on GitHub: https://github.com/dotnet/core
2020-01-07T19:26:28.2391010Z Find out what's new: https://aka.ms/dotnet-whats-new
2020-01-07T19:26:28.2391480Z Learn about the installed HTTPS developer cert: https://aka.ms/aspnet-core-https
2020-01-07T19:26:28.2391900Z Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
2020-01-07T19:26:28.2392300Z Write your first app: https://aka.ms/first-net-core-app
2020-01-07T19:26:28.2392840Z --------------------------------------------------------------------------------------
2020-01-07T19:26:29.2043330Z Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
2020-01-07T19:26:29.2043830Z Copyright (C) Microsoft Corporation. All rights reserved.
2020-01-07T19:26:29.2044200Z
2020-01-07T19:26:41.1274160Z Restore completed in 10.36 sec for /Users/runner/runners/2.163.1/work/1/s/source/Nuke.CodeGeneration/Nuke.CodeGeneration.csproj.
2020-01-07T19:26:41.1274670Z Restore completed in 10.36 sec for /Users/runner/runners/2.163.1/work/1/s/source/Nuke.Common/Nuke.Common.csproj.
2020-01-07T19:26:44.3085800Z Restore completed in 13.56 sec for /Users/runner/runners/2.163.1/work/1/s/build/_build.csproj.
2020-01-07T19:26:58.9267930Z Nuke.Common -> /Users/runner/runners/2.163.1/work/1/s/source/Nuke.Common/bin/Debug/netcoreapp3.0/Nuke.Common.dll
2020-01-07T19:27:00.2877180Z Nuke.CodeGeneration -> /Users/runner/runners/2.163.1/work/1/s/source/Nuke.CodeGeneration/bin/Debug/netcoreapp3.0/Nuke.CodeGeneration.dll
2020-01-07T19:27:01.4887390Z _build -> /Users/runner/runners/2.163.1/work/1/s/build/bin/Debug/_build.dll
2020-01-07T19:27:01.5031180Z
2020-01-07T19:27:01.5035420Z Build succeeded.
2020-01-07T19:27:01.5036500Z 0 Warning(s)
2020-01-07T19:27:01.5037130Z 0 Error(s)
2020-01-07T19:27:01.5038320Z
2020-01-07T19:27:01.5039030Z Time Elapsed 00:00:32.23
2020-01-07T19:27:02.0339100Z It was not possible to find any compatible framework version
2020-01-07T19:27:02.0340710Z The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
2020-01-07T19:27:02.0341640Z - Check application dependencies and target a framework version installed at:
2020-01-07T19:27:02.0342100Z /Users/runner/.dotnet
2020-01-07T19:27:02.0342760Z - Installing .NET Core prerequisites might help resolve this problem:
2020-01-07T19:27:02.0343260Z https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
2020-01-07T19:27:02.0343880Z - The .NET Core framework and SDK can be installed from:
2020-01-07T19:27:02.0344340Z https://aka.ms/dotnet-download
2020-01-07T19:27:02.0344720Z - The following versions are installed:
2020-01-07T19:27:02.0344830Z 1.0.4 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0345650Z 1.0.5 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0345780Z 1.0.7 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0345860Z 1.0.8 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0345950Z 1.0.9 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346030Z 1.0.10 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346140Z 1.0.11 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346220Z 1.0.12 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346330Z 1.0.13 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346410Z 1.0.14 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346510Z 1.0.15 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346590Z 1.1.1 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346700Z 1.1.2 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346780Z 1.1.4 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346870Z 1.1.5 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0346950Z 1.1.6 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347060Z 1.1.7 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347140Z 1.1.8 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347230Z 1.1.9 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347300Z 1.1.10 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347410Z 1.1.11 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347490Z 1.1.12 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347600Z 2.0.0 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347680Z 2.0.3 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347780Z 2.0.5 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0347860Z 2.0.6 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348290Z 2.0.7 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348380Z 2.0.9 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348460Z 2.1.0 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348540Z 2.1.1 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348650Z 2.1.2 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348720Z 2.1.3 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348810Z 2.1.4 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0348890Z 2.1.5 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349000Z 2.1.6 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349080Z 2.1.7 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349230Z 2.1.8 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349300Z 2.1.9 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349410Z 2.2.0 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349490Z 2.2.1 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349600Z 2.2.2 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:27:02.0349670Z 2.2.3 at [/Users/runner/.dotnet/shared/Microsoft.NETCore.App]
2020-01-07T19:26:27.9798490Z dotnet-install: Binaries of dotnet can be found in /Users/runner/runners/2.163.1/work/1/s/.tmp/dotnet-unix
Try to set DOTNET_ROOT=/Users/runner/runners/2.163.1/work/1/s/.tmp/dotnet-unix
It seems like you install new dotnet to place other than previous installation.
You can also do -x on the script and dump environment to see more what is happening.
This is not a question, this is a bug report.
Here is the same pipeline running on Ubuntu image. Which also installs the SDK into a custom directory.
Could you check if the DOTNET_ROOT environment variable is already set to something else on that image? Azure Pipelines recently updated the MacOS images to always set the DOTNET_ROOT environment variable to point at the preinstalled .NET Core: microsoft/azure-pipelines-image-generation#531
If that environment variable is already set, running your built project will only look for frameworks in the location specified by the environment variable.
DOTNET_ROOT=/Users/runner/.dotnet
But seriously, if I start dotnet from the freshly installed location, then it should OF COURSE consider the SDK that it's installed along with it.
Please mark this as a bug. No one can possibly expect this behavior.
@elinor-fung @wfurt @jeffschwMSFT could you please mark this as a bug?
Most helpful comment
Please mark this as a bug. No one can possibly expect this behavior.