Skip to content

Commit bf6dced

Browse files
committed
[.NET 5] Update TargetFramework to net5.0
The latest .NET 5 previews now have support for a $(TargetFramework) of `net5.0`, which allows us to replace our usage of `netcoreapp5.0` with `net5.0`. The .NET 5 version of `_ResolveSdks` has also been updated to avoid avoid usage of $(TargetFramework) when setting the path to `Mono.Android.dll`. This fixes an issue that was occurring when using the latest .NET 5 nightly preview, which was the result of Android projects using targeting packs with different $(TargetFramework) values. /Users/peter/.nuget/packages/microsoft.android.sdk/10.0.100-ci.net5-fix-tf.22/tools/Xamarin.Android.Tooling.targets(61,5): error XARSD7004: System.ArgumentException: `/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/5.0.0-preview.6.20264.1/ref/netcoreapp5.0` must be a directory! (Parameter 'frameworkDirectories') /Users/peter/.nuget/packages/microsoft.android.sdk/10.0.100-ci.net5-fix-tf.22/tools/Xamarin.Android.Tooling.targets(61,5): error XARSD7004: at Xamarin.Android.Tools.AndroidVersions..ctor(IEnumerable`1 frameworkDirectories) in /Users/peter/source/pj/xamarin-android/external/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersions.cs:line 30 /Users/peter/.nuget/packages/microsoft.android.sdk/10.0.100-ci.net5-fix-tf.22/tools/Xamarin.Android.Tooling.targets(61,5): error XARSD7004: at Xamarin.Android.Tasks.MonoAndroidHelper.RefreshSupportedVersions(String[] referenceAssemblyPaths) /Users/peter/.nuget/packages/microsoft.android.sdk/10.0.100-ci.net5-fix-tf.22/tools/Xamarin.Android.Tooling.targets(61,5): error XARSD7004: at Xamarin.Android.Tasks.ResolveSdks.RunTask() /Users/peter/.nuget/packages/microsoft.android.sdk/10.0.100-ci.net5-fix-tf.22/tools/Xamarin.Android.Tooling.targets(61,5): error XARSD7004: at Xamarin.Android.Tasks.AndroidTask.Execute()
1 parent 063d645 commit bf6dced

File tree

8 files changed

+15
-13
lines changed

8 files changed

+15
-13
lines changed

Documentation/guides/DotNet5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ The following instructions can be used for early preview testing.
156156
```xml
157157
<Project Sdk="Microsoft.Android.Sdk/10.0.100">
158158
<PropertyGroup>
159-
<TargetFramework>netcoreapp5.0</TargetFramework>
159+
<TargetFramework>net5.0</TargetFramework>
160160
<RuntimeIdentifier>android.21-arm64</RuntimeIdentifier>
161161
<OutputType>Exe</OutputType>
162162
</PropertyGroup>

build-tools/automation/azure-pipelines-oss.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ variables:
2727
PREPARE_FLAGS: PREPARE_CI=1 PREPARE_CI_PR=1
2828
DotNetCoreVersion: 3.1.201
2929
# Version number from: https://dotnet.microsoft.com/download/dotnet-core/5.0
30-
DotNetCorePreviewVersion: 5.0.100-preview.4.20227.14
30+
DotNetCorePreviewVersion: 5.0.100-preview.6.20265.2
3131

3232
stages:
3333
- stage: mac_stage

build-tools/automation/azure-pipelines.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ variables:
5050
NUnitConsoleVersion: 3.9.0
5151
DotNetCoreVersion: 3.1.201
5252
# Version number from: https://github.com/dotnet/installer#installers-and-binaries
53-
DotNetCorePreviewVersion: 5.0.100-preview.4.20227.14
53+
DotNetCorePreviewVersion: 5.0.100-preview.6.20265.2
5454
HostedMacMojave: Hosted Mac Internal Mojave
5555
HostedMac: Hosted Mac Internal
5656
HostedWinVS2019: Hosted Windows 2019 with VS2019

build-tools/create-packs/Microsoft.Android.Ref.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ by projects that use the Microsoft.Android framework in .NET 5.
1515
<Authors>Microsoft</Authors>
1616
<Description>Microsoft.Android reference assemblies. Please do not reference directly.</Description>
1717
<OutputPath>..\..\bin\Build$(Configuration)\nupkgs\</OutputPath>
18-
<_AndroidRefPackAssemblyPath>ref\netcoreapp5.0</_AndroidRefPackAssemblyPath>
18+
<_AndroidRefPackAssemblyPath>ref\net5.0</_AndroidRefPackAssemblyPath>
1919
</PropertyGroup>
2020

2121
<PropertyGroup>

build-tools/create-packs/Microsoft.Android.Runtime.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ projects that use the Microsoft.Android framework in .NET 5.
1717
<Authors>Microsoft</Authors>
1818
<Description>Microsoft.Android runtime components. Please do not reference directly.</Description>
1919
<OutputPath>..\..\bin\Build$(Configuration)\nupkgs\</OutputPath>
20-
<_AndroidRuntimePackAssemblyPath>runtimes\$(AndroidRID)\lib\netcoreapp5.0</_AndroidRuntimePackAssemblyPath>
20+
<_AndroidRuntimePackAssemblyPath>runtimes\$(AndroidRID)\lib\net5.0</_AndroidRuntimePackAssemblyPath>
2121
<_AndroidRuntimePackNativePath>runtimes\$(AndroidRID)\native</_AndroidRuntimePackNativePath>
2222
</PropertyGroup>
2323

build-tools/create-packs/Microsoft.Android.Sdk.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ the new entry point for short-form style Android projets in .NET 5.
8585
<Target Name="_GenerateBundledVersions"
8686
DependsOnTargets="_GetDefaultPackageVersion" >
8787
<PropertyGroup>
88-
<_AndroidNETAppTargetFramework>netcoreapp5.0</_AndroidNETAppTargetFramework>
88+
<_AndroidNETAppTargetFramework>net5.0</_AndroidNETAppTargetFramework>
8989
<BundledVersionsPropsFileName>Microsoft.Android.Sdk.BundledVersions.props</BundledVersionsPropsFileName>
9090
</PropertyGroup>
9191

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XASdkProject.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,14 @@ static XASdkProject ()
3939
public XASdkProject (string sdkVersion = "", string outputType = "Exe")
4040
{
4141
Sdk = string.IsNullOrEmpty (sdkVersion) ? "Microsoft.Android.Sdk" : $"Microsoft.Android.Sdk/{sdkVersion}";
42-
TargetFramework = "netcoreapp5.0";
42+
TargetFramework = "net5.0";
4343

4444
PackageName = PackageName ?? string.Format ("{0}.{0}", ProjectName);
4545
JavaPackageName = JavaPackageName ?? PackageName.ToLowerInvariant ();
46-
ExtraNuGetConfigSources = new List<string> { Path.Combine (XABuildPaths.BuildOutputDirectory, "nupkgs") };
46+
ExtraNuGetConfigSources = new List<string> {
47+
Path.Combine (XABuildPaths.BuildOutputDirectory, "nupkgs"),
48+
"https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet5/nuget/v3/index.json",
49+
};
4750
GlobalPackagesFolder = Path.Combine (XABuildPaths.TopDirectory, "packages");
4851
SetProperty (KnownProperties.OutputType, outputType);
4952

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Tooling.targets

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ projects.
4343
</Target>
4444

4545
<PropertyGroup Condition=" '$(UsingAndroidNETSdk)' == 'True' ">
46-
<_ResolveSdksDependsOnTargets>ResolveFrameworkReferences</_ResolveSdksDependsOnTargets>
46+
<_ResolveSdksDependsOnTargets>ResolveTargetingPackAssets</_ResolveSdksDependsOnTargets>
4747
</PropertyGroup>
4848
<PropertyGroup Condition=" '$(UsingAndroidNETSdk)' != 'True' ">
4949
<_ResolveSdksDependsOnTargets>_GetReferenceAssemblyPaths</_ResolveSdksDependsOnTargets>
@@ -52,11 +52,10 @@ projects.
5252
<Target Name="_ResolveSdks" DependsOnTargets="$(_ResolveSdksDependsOnTargets)">
5353
<PropertyGroup>
5454
<_AndroidAllowMissingSdkTooling Condition=" '$(_AndroidAllowMissingSdkTooling)' == '' ">False</_AndroidAllowMissingSdkTooling>
55-
<!-- When using .NET 5, provide a list of paths to all framework reference directories, e.g.
56-
`packages\xamarin.android.app.ref\10.3.99.160\ref\netcoreapp5.0\` and
57-
`C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0-preview.2.20160.6\ref\netcoreapp5.0\`
55+
<!-- When using .NET 5, provide the path to Mono.Android.dll e.g.
56+
`packages\microsoft.android.ref\10.0.100-ci.master.22\ref\net5.0\`
5857
-->
59-
<_XATargetFrameworkDirectories Condition=" '$(UsingAndroidNETSdk)' == 'True' ">@(ResolvedFrameworkReference->'%(TargetingPackPath)\ref\$(TargetFramework)')</_XATargetFrameworkDirectories>
58+
<_XATargetFrameworkDirectories Condition=" '$(UsingAndroidNETSdk)' == 'True' And '%(FileName)%(Extension)' == 'Mono.Android.dll' ">@(Reference->'%(RootDir)%(Directory)')</_XATargetFrameworkDirectories>
6059
</PropertyGroup>
6160
<ResolveSdks
6261
ContinueOnError="$(_AndroidAllowMissingSdkTooling)"

0 commit comments

Comments
 (0)