You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context: #4467
Context: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=3590265&view=logs&j=96fd57f5-f69e-53c7-3d47-f67e6cf9b93e&t=7b19ceb3-907a-5a0d-b8ed-87e3f7335a58
When trying to integration test dotnet/java-interop#614, the
`make all-tests` job fails:
/usr/local/share/dotnet/sdk/2.2.402/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5):
error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 2.2 or lower, or use a version of the .NET SDK that supports .NET Core 3.1.
[/Users/builder/azdo/_work/2/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop.csproj]
Particularly odd about this is that we have an explicit job to install
.NET Core 3.1.100, so why is .NET Core 2.2.402 being used at all?!
Turns Out™ that while .NET Core 3.1.100 was installed, it was
installed *into a different prefix*; from the
`install .NET Core 3.1.100` job:
##[debug]set DOTNET_ROOT=/Users/builder/azdo/_work/_tool/dotnet
and from the `make jenkins` job output:
DOTNET_ROOT = /Users/builder/azdo/_work/_tool/dotnet
Thus, the `install .NET Core 3.1.100` job is installing .NET Core into
`$HOME/azdo/_work/_tool/_dotnet`, while `make all-tests` is only
looking for .NET Core SDKs within `/usr/local/share/dotnet`, which
does *not* contain .NET Core 3.1 at all.
Where does the `make all-tests` path come from? It comes from
`tools/xabuild`, which sets the `MSBuildSDKsPath` environment
variable, and `xabuild` did not check `$DOTNET_ROOT`.
Update `xabuild` so that `$DOTNET_ROOT` is also probed for .NET Core
installation directories, and use the *latest* .NET Core SDK path
found between `$DOTNET_ROOT` and `/usr/local/share/dotnet`.
0 commit comments