Skip to content

Commit 304e698

Browse files
Bump to .NET 6.0.100-preview.3.21161.23 (dotnet#5733)
Changes: dotnet/installer@1a9103d...19e22a7 At first, Android "Hello World" fails with: > dotnet build -c Release ILLink : error IL1009: Assembly 'System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' reference 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' could not be resolved Dropping the `--skip-unresolved false` switch passed to ILLink solves this issue. This was a recommendation from Sven Boemer on the .NET team. A nice, side-effect, is we no longer need workarounds like this any longer: <ItemGroup Condition=" '$(Configuration)' == 'Release' "> <PackageReference Include="System.CodeDom" Version="6.0.0-*" /> <PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0-*" /> <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="6.0.0-*" /> <PackageReference Include="System.Diagnostics.EventLog" Version="6.0.0-*" /> <PackageReference Include="System.Drawing.Common" Version="6.0.0-*" /> <PackageReference Include="System.IO.Ports" Version="6.0.0-*" /> <PackageReference Include="System.Threading.AccessControl" Version="6.0.0-*" /> </ItemGroup> I removed these from several tests. `BuildReleaseArm64` test, net6 apk size difference before/after Simple XA: -"PackageSize": 2885411 +"PackageSize": 2889606 XF/XA -"PackageSize": 9886918 +"PackageSize": 8746124 The Xamarin.Forms app saw quite a bit of improvement, since we don't have to bring in these `@(PackageReference)` anymore. ~~ Other changes ~~ I updated `PerformanceTest` to ignore `NotSupportedException` due to: System.NotSupportedException : Unsupported log file format. Latest supported version is 10, the log file has version 11. We need to use a new version of this package when it is available: https://www.nuget.org/packages/MSBuild.StructuredLogger/2.1.303 * Update System.Private.CoreLib.xml Fixes runtime crash in .NET 6 Mono.Android-Tests: Can't find custom attr constructor image: Mono.Android.dll mtoken: 0x0a000464 due to: Could not resolve type with token 010000fb from typeref (expected class 'System.Runtime.CompilerServices.InternalsVisibleToAttribute' in assembly 'System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e') assembly:System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e type:System.Runtime.CompilerServices.InternalsVisibleToAttribute member:(null)
1 parent 8ac791d commit 304e698

File tree

15 files changed

+110
-252
lines changed

15 files changed

+110
-252
lines changed

Configuration.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@
7777
<!-- Version number from: https://github.com/dotnet/installer#installers-and-binaries -->
7878
<!-- Please update DotNetRuntimePacksVersion below accordingly -->
7979
<DotNetPreviewVersionBand Condition=" '$(DotNetPreviewVersionBand)' == '' ">6.0.100</DotNetPreviewVersionBand>
80-
<DotNetPreviewVersionFull Condition=" '$(DotNetPreviewVersionFull)' == '' ">$(DotNetPreviewVersionBand)-preview.2.21155.3</DotNetPreviewVersionFull>
80+
<DotNetPreviewVersionFull Condition=" '$(DotNetPreviewVersionFull)' == '' ">$(DotNetPreviewVersionBand)-preview.3.21161.23</DotNetPreviewVersionFull>
8181
<!-- This version comes from the a file in the dotnet distribution: sdk/$(DotNetPreviewVersionFull)/dotnet.runtimeconfig.json (the `runtimeOptions/framework/version key`) -->
82-
<DotNetRuntimePacksVersion Condition=" '$(DotNetRuntimePacksVersion)' == '' ">6.0.0-preview.2.21154.6</DotNetRuntimePacksVersion>
82+
<DotNetRuntimePacksVersion Condition=" '$(DotNetRuntimePacksVersion)' == '' ">6.0.0-preview.3.21159.16</DotNetRuntimePacksVersion>
8383
<ILLinkVersionBand Condition=" '$(ILLinkVersionBand)' == '' ">6.0.0</ILLinkVersionBand>
8484
<ILLinkVersionFull Condition=" '$(ILLinkVersionFull)' == '' ">$(ILLinkVersionBand)-alpha.1.21109.1</ILLinkVersionFull>
8585
<WixToolPath Condition=" '$(WixToolPath)' == '' ">$(AndroidToolchainDirectory)\wix\</WixToolPath>

src/Microsoft.Android.Sdk.ILLink/PreserveLists/System.Private.CoreLib.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
<linker>
44
<assembly fullname="System.Private.CoreLib">
55
<type fullname="System.Globalization.GlobalizationMode" />
6+
<type fullname="System.Runtime.CompilerServices.InternalsVisibleToAttribute" />
67
</assembly>
78
</linker>

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ This file contains the .NET 5-specific targets to customize ILLink
3535
<PropertyGroup>
3636
<!-- make the output verbose to see what the linker is doing. FIXME: make dependent upon verbosity level -->
3737
<_ExtraTrimmerArgs>$(_ExtraTrimmerArgs) --verbose --deterministic --custom-data XATargetFrameworkDirectories="$(_XATargetFrameworkDirectories)"</_ExtraTrimmerArgs>
38-
39-
<!-- we don't want to ignore stuff we can't find -->
40-
<_ExtraTrimmerArgs>$(_ExtraTrimmerArgs) --skip-unresolved false</_ExtraTrimmerArgs>
4138
<_AdditionalTaskAssemblyDirectory>$(XamarinSdkRootDirectory)tools/dotnet-linker/</_AdditionalTaskAssemblyDirectory>
4239
<_AdditionalTaskAssembly>$(_AdditionalTaskAssemblyDirectory)dotnet-linker.dll</_AdditionalTaskAssembly>
4340
</PropertyGroup>

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,6 @@ public void CheckEmbeddedSupportLibraryResources ()
151151
KnownPackages.SupportV7AppCompat_27_0_2_1,
152152
},
153153
};
154-
if (Builder.UseDotNet) {
155-
proj.AddDotNetCompatPackages ();
156-
}
157154
using (var b = CreateApkBuilder ()) {
158155
Assert.IsTrue (b.Build (proj), "First build should have succeeded.");
159156
var Rdrawable = b.Output.GetIntermediaryPath (Path.Combine ("android", "bin", "classes", "android", "support", "v7", "appcompat", "R$drawable.class"));
@@ -989,9 +986,6 @@ public void BuildAppWithManagedResourceParserAndLibraries ()
989986
},
990987
};
991988
appProj.SetProperty ("AndroidUseManagedDesignTimeResourceGenerator", "True");
992-
if (Builder.UseDotNet) {
993-
appProj.AddDotNetCompatPackages ();
994-
}
995989
using (var libBuilder = CreateDllBuilder (Path.Combine (path, libProj.ProjectName), false, false)) {
996990
libBuilder.AutomaticNuGetRestore = false;
997991
Assert.IsTrue (libBuilder.RunTarget (libProj, "Restore"), "Library project should have restored.");

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ public void BuildReleaseArm64 ([Values (false, true)] bool forms)
7878
if (forms) {
7979
proj.PackageReferences.Clear ();
8080
proj.PackageReferences.Add (KnownPackages.XamarinForms_4_7_0_1142);
81-
82-
if (Builder.UseDotNet)
83-
proj.AddDotNetCompatPackages ();
8481
}
8582

8683
byte [] apkDescData;
@@ -2039,9 +2036,7 @@ public void BuildWithNativeLibraries ([Values (true, false)] bool isRelease)
20392036
}
20402037
};
20412038
proj.SetAndroidSupportedAbis ("armeabi-v7a", "x86");
2042-
if (Builder.UseDotNet) {
2043-
proj.AddDotNetCompatPackages ();
2044-
} else {
2039+
if (!Builder.UseDotNet) {
20452040
//NOTE: Mono.Data.Sqlite and Mono.Posix do not exist in .NET 5+
20462041
proj.References.Add (new BuildItem.Reference ("Mono.Data.Sqlite"));
20472042
proj.References.Add (new BuildItem.Reference ("Mono.Posix"));
@@ -2564,8 +2559,6 @@ public void BuildReleaseApplicationWithNugetPackages ()
25642559
KnownPackages.AndroidSupportV4_27_0_2_1,
25652560
},
25662561
};
2567-
if (Builder.UseDotNet)
2568-
proj.AddDotNetCompatPackages ();
25692562
using (var b = CreateApkBuilder ()) {
25702563
Assert.IsTrue (b.Build (proj), "Build should have succeeded.");
25712564
var assets = b.Output.GetIntermediaryAsText (Path.Combine ("..", "project.assets.json"));
@@ -2659,8 +2652,6 @@ public void BuildAfterAddingNuget ()
26592652
string build_props = b.Output.GetIntermediaryPath ("build.props");
26602653
FileAssert.Exists (build_props, "build.props should exist after first build.");
26612654
proj.PackageReferences.Add (KnownPackages.SupportV7CardView_27_0_2_1);
2662-
if (Builder.UseDotNet)
2663-
proj.AddDotNetCompatPackages ();
26642655

26652656
Assert.IsTrue (b.Build (proj, doNotCleanupOnUpdate: true), "second build should have succeeded.");
26662657
FileAssert.Exists (build_props, "build.props should exist after second build.");

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public void CheckIncludedAssemblies ()
8787
"Java.Interop.dll",
8888
"Mono.Android.dll",
8989
"System.Private.CoreLib.dll",
90+
"System.Runtime.CompilerServices.Unsafe.dll",
9091
"System.Linq.dll",
9192
"UnnamedProject.dll",
9293
} :

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

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,6 @@ namespace Xamarin.ProjectTools
44
{
55
public static class KnownPackages
66
{
7-
/// <summary>
8-
/// Adds additional dependencies for Xamarin.Forms, support libraries, etc. on .NET 5+
9-
/// to workaround the issue similar to https://github.com/mono/linker/issues/1139
10-
/// </summary>
11-
public static void AddDotNetCompatPackages (this IShortFormProject project)
12-
{
13-
project.PackageReferences.Add (SystemCodeDom_5_0_0_preview_3_20214_6);
14-
project.PackageReferences.Add (SystemDiagnosticsEventLog_5_0_0_preview_3_20214_6);
15-
project.PackageReferences.Add (SystemDiagnosticsPerformanceCounter_5_0_0_preview_3_20214_6);
16-
project.PackageReferences.Add (SystemIOPorts_5_0_0_preview_3_20214_6);
17-
project.PackageReferences.Add (SystemSecurityPermissions_5_0_0_preview_3_20214_6);
18-
project.PackageReferences.Add (SystemThreadingAccessControl_5_0_0_preview_3_20214_6);
19-
}
20-
217
public static Package AndroidSupportV4_27_0_2_1 = new Package () {
228
Id = "Xamarin.Android.Support.v4",
239
Version = "27.0.2.1",
@@ -222,38 +208,6 @@ public static void AddDotNetCompatPackages (this IShortFormProject project)
222208
Version = "4.7.0.1142",
223209
TargetFramework = "MonoAndroid10.0",
224210
};
225-
/* additional packages for XForms 4.5 on NET5 */
226-
public static Package SystemCodeDom_5_0_0_preview_3_20214_6 = new Package {
227-
Id = "System.CodeDom",
228-
Version = "5.0.0-preview.3.20214.6",
229-
TargetFramework = "netcoreapp3.0",
230-
};
231-
public static Package SystemDiagnosticsEventLog_5_0_0_preview_3_20214_6 = new Package {
232-
Id = "System.Diagnostics.EventLog",
233-
Version = "5.0.0-preview.3.20214.6",
234-
TargetFramework = "netcoreapp3.0",
235-
};
236-
public static Package SystemDiagnosticsPerformanceCounter_5_0_0_preview_3_20214_6 = new Package {
237-
Id = "System.Diagnostics.PerformanceCounter",
238-
Version = "5.0.0-preview.3.20214.6",
239-
TargetFramework = "netcoreapp3.0",
240-
};
241-
public static Package SystemIOPorts_5_0_0_preview_3_20214_6 = new Package {
242-
Id = "System.IO.Ports",
243-
Version = "5.0.0-preview.3.20214.6",
244-
TargetFramework = "netcoreapp3.0",
245-
};
246-
public static Package SystemSecurityPermissions_5_0_0_preview_3_20214_6 = new Package {
247-
Id = "System.Security.Permissions",
248-
Version = "5.0.0-preview.3.20214.6",
249-
TargetFramework = "netcoreapp3.0",
250-
};
251-
public static Package SystemThreadingAccessControl_5_0_0_preview_3_20214_6 = new Package {
252-
Id = "System.Threading.AccessControl",
253-
Version = "5.0.0-preview.3.20214.6",
254-
TargetFramework = "netcoreapp3.0",
255-
};
256-
/* end of additional packages for XForms 4.5 on NET5 */
257211
public static Package XamarinFormsMaps_4_0_0_425677 = new Package {
258212
Id = "Xamarin.Forms.Maps",
259213
Version = "4.0.0.425677",

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,6 @@ public override ProjectLanguage Language {
8989
PackageReferences.Add (KnownPackages.Xamarin_Android_FSharp_ResourceProvider);
9090
Sources.Remove (resourceDesigner);
9191
OtherBuildItems.Add (new BuildItem.NoActionResource (() => "Resources\\Resource.designer" + Language.DefaultDesignerExtension) { TextContent = () => string.Empty });
92-
93-
if (Builder.UseDotNet) {
94-
this.AddDotNetCompatPackages ();
95-
}
9692
}
9793
}
9894
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ public XamarinAndroidWearApplicationProject (string debugConfigurationName = "De
3131
TargetFrameworkVersion = Versions.KitkatWatch;
3232
UseLatestPlatformSdk = true;
3333
PackageReferences.Add (KnownPackages.AndroidWear_2_2_0);
34-
if (Builder.UseDotNet) {
35-
this.AddDotNetCompatPackages ();
36-
}
3734

3835
MainActivity = default_main_activity;
3936
StringsXml = default_strings_xml;

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.IO;
33
using System.Runtime.CompilerServices;
44

@@ -43,7 +43,6 @@ public XamarinFormsAndroidApplicationProject (string debugConfigurationName = "D
4343
{
4444
if (Builder.UseDotNet) {
4545
PackageReferences.Add (KnownPackages.XamarinForms_4_7_0_1142);
46-
this.AddDotNetCompatPackages ();
4746
} else {
4847
PackageReferences.Add (KnownPackages.XamarinForms_4_0_0_425677);
4948
}

0 commit comments

Comments
 (0)