dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.01k stars 1.73k forks source link

MAUI Blazor: Referencing RCL to MAUI Blazor project triggers error on Android publishing #13961

Closed true-perfect-code closed 1 year ago

true-perfect-code commented 1 year ago

Description

When I reference a razor class library project to MAUI Blazor project, it triggers an error to System.Web.Http.WebHost.dll when publishing (release build) the Android app.

[System.Web.Http.WebHost.dll] Exec (with response file contents expanded) in C:\Users\perfe\source\repos\MauiApp2\MauiApp2: MONO_PATH=C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked; MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64\7.0.3\Sdk\..\tools\mono-aot-cross.exe --debug --nollvm "--aot=asmwriter,temp-path=obj\Release\net7.0-android\android-x64\aot\x86_64\System.Web.Http.WebHost,profile-only,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile,mtriple=x86_64-linux-android,tool-prefix=C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\binutils\bin\x86_64-linux-android-,outfile=obj\Release\net7.0-android\android-x64\aot\System.Web.Http.WebHost.dll.so,ld-name=ld,ld-flags=--no-relax -s" "obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll"

2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Precompiling failed for C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll with exit code 1.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Failed to load method 0x6000072 from 'C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll' due to Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies..
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Run with MONO_LOG_LEVEL=debug for more information.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOT of image obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll failed.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Mono Ahead of Time compiler - compiling assembly C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOTID 2FF38158-4C87-5F16-CDBE-AAB4D8FFFA5B
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile'

However, when I run the project in debug mode on the emulator, it works without problems. The application is displayed and no error message appears:

image

Steps to Reproduce

Use github repository https://github.com/true-perfect-code/MauiApp_RCLreference.git

or

  1. create a MAUI Blazor application
  2. add a new RCL (razor class library) project
  3. install Android Emulator
  4. set configuration to release
  5. select Android Emulator
  6. publish/launch the new project

Link to public reproduction project repository

https://github.com/true-perfect-code/MauiApp_RCLreference.git

Version with bug

6.0.312

Last version that worked well

6.0.312

Affected platforms

Android

Affected platform versions

Pixel 5 API 33.5554

Did you find any workaround?

No

Relevant log output

Neuerstellen gestartet...
"C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj" wiederhergestellt (in "287 ms").
"C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj" wiederhergestellt (in "2,03 sec").
1>------ Neues Erstellen gestartet: Projekt: CALCrcl, Konfiguration: Release Any CPU ------
1>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
1>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
1>CALCrcl -> C:\Users\perfe\source\repos\MauiApp2\rcl\bin\Release\net7.0\CALCrcl.dll
1>Erstellen des Projekts CALCrcl.csproj beendet.
2>------ Neues Erstellen gestartet: Projekt: MauiApp2, Konfiguration: Release Any CPU ------
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>Erstellen des Projekts CALCrcl.csproj beendet.
2>MauiApp2 -> C:\Users\perfe\source\repos\MauiApp2\MauiApp2\bin\Release\net7.0-ios\iossimulator-x64\MauiApp2.dll
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>Erstellen des Projekts CALCrcl.csproj beendet.
2>MauiApp2 -> C:\Users\perfe\source\repos\MauiApp2\MauiApp2\bin\Release\net7.0-maccatalyst\maccatalyst-x64\MauiApp2.dll
2>Erstellen des Projekts MauiApp2.csproj beendet.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\rcl\CALCrcl.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>Erstellen des Projekts CALCrcl.csproj beendet.
2>MauiApp2 -> C:\Users\perfe\source\repos\MauiApp2\MauiApp2\bin\Release\net7.0-maccatalyst\maccatalyst-arm64\MauiApp2.dll
2>Erstellen des Projekts MauiApp2.csproj beendet.
2>MauiApp2 -> C:\Users\perfe\source\repos\MauiApp2\MauiApp2\bin\Release\net7.0-windows10.0.19041.0\win10-x64\MauiApp2.dll
2>MauiApp2 -> C:\Users\perfe\source\repos\MauiApp2\MauiApp2\bin\Release\net7.0-android\MauiApp2.dll
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>Das Optimieren der Assembly für die Größe kann das Verhalten der App ändern. Stellen Sie sicher, dass nach der Veröffentlichung Tests durchgeführt werden. Informationen finden Sie unter https://aka.ms/dotnet-illink.
2>Assemblys werden für die Größe optimiert. Dieser Vorgang kann eine Weile dauern.
2>Das Optimieren der Assembly für die Größe kann das Verhalten der App ändern. Stellen Sie sicher, dass nach der Veröffentlichung Tests durchgeführt werden. Informationen finden Sie unter https://aka.ms/dotnet-illink.
2>Assemblys werden für die Größe optimiert. Dieser Vorgang kann eine Weile dauern.
2>Das Optimieren der Assembly für die Größe kann das Verhalten der App ändern. Stellen Sie sicher, dass nach der Veröffentlichung Tests durchgeführt werden. Informationen finden Sie unter https://aka.ms/dotnet-illink.
2>Assemblys werden für die Größe optimiert. Dieser Vorgang kann eine Weile dauern.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.Core 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>C:\Users\perfe\source\repos\MauiApp2\MauiApp2\MauiApp2.csproj : warning NU1701: Das Paket "Microsoft.AspNet.WebApi.WebHost 5.2.9" wurde nicht mit dem Projektzielframework "net7.0-android33.0", sondern mit ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1" wiederhergestellt. Dieses Paket ist mit Ihrem Projekt möglicherweise nicht vollständig kompatibel.
2>Das Optimieren der Assembly für die Größe kann das Verhalten der App ändern. Stellen Sie sicher, dass nach der Veröffentlichung Tests durchgeführt werden. Informationen finden Sie unter https://aka.ms/dotnet-illink.
2>Assemblys werden für die Größe optimiert. Dieser Vorgang kann eine Weile dauern.
2>[1/188] Azure.Core.dll -> Azure.Core.dll.so
2>[2/188] System.Web.Http.dll -> System.Web.Http.dll.so
2>[System.Web.Http.WebHost.dll] Exec (with response file contents expanded) in C:\Users\perfe\source\repos\MauiApp2\MauiApp2: MONO_PATH=C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x86\linked; MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86\7.0.3\Sdk\..\tools\mono-aot-cross.exe --debug --nollvm "--aot=asmwriter,temp-path=obj\Release\net7.0-android\android-x86\aot\x86\System.Web.Http.WebHost,profile-only,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile,mtriple=i686-linux-android,tool-prefix=C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\binutils\bin\i686-linux-android-,outfile=obj\Release\net7.0-android\android-x86\aot\System.Web.Http.WebHost.dll.so,ld-name=ld,ld-flags=--no-relax -s" "obj\Release\net7.0-android\android-x86\linked\System.Web.Http.WebHost.dll"
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Precompiling failed for C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x86\linked\System.Web.Http.WebHost.dll with exit code 1.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Failed to load method 0x6000072 from 'C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x86\linked\System.Web.Http.WebHost.dll' due to Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies..
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Mono Ahead of Time compiler - compiling assembly C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x86\linked\System.Web.Http.WebHost.dll
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOTID 732D312A-0844-C431-3C9C-1C828E931F3C
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Run with MONO_LOG_LEVEL=debug for more information.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOT of image obj\Release\net7.0-android\android-x86\linked\System.Web.Http.WebHost.dll failed.
2>[3/188] System.Net.Http.Formatting.dll -> System.Net.Http.Formatting.dll.so
2>[4/188] Azure.Identity.dll -> Azure.Identity.dll.so
2>[5/188] Microsoft.AspNetCore.Components.Web.dll -> Microsoft.AspNetCore.Components.Web.dll.so
2>[6/188] Microsoft.AspNetCore.Components.dll -> Microsoft.AspNetCore.Components.dll.so
2>[7/188] Microsoft.AspNetCore.Components.WebView.dll -> Microsoft.AspNetCore.Components.WebView.dll.so
2>[1/188] Azure.Core.dll -> Azure.Core.dll.so
2>[8/188] Microsoft.AspNetCore.Components.WebView.Maui.dll -> Microsoft.AspNetCore.Components.WebView.Maui.dll.so
2>Die Erstellung des Projekts "MauiApp2.csproj" ist abgeschlossen -- FEHLER.
2>[2/188] Azure.Identity.dll -> Azure.Identity.dll.so
2>[3/188] System.Net.Http.Formatting.dll -> System.Net.Http.Formatting.dll.so
2>[4/188] System.Web.Http.dll -> System.Web.Http.dll.so
2>[System.Web.Http.WebHost.dll] Exec (with response file contents expanded) in C:\Users\perfe\source\repos\MauiApp2\MauiApp2: MONO_PATH=C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm64\linked; MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64\7.0.3\Sdk\..\tools\mono-aot-cross.exe --debug --nollvm "--aot=asmwriter,temp-path=obj\Release\net7.0-android\android-arm64\aot\arm64-v8a\System.Web.Http.WebHost,profile-only,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile,mtriple=aarch64-linux-android,tool-prefix=C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\binutils\bin\aarch64-linux-android-,outfile=obj\Release\net7.0-android\android-arm64\aot\System.Web.Http.WebHost.dll.so,ld-name=ld,ld-flags=--no-relax -s" "obj\Release\net7.0-android\android-arm64\linked\System.Web.Http.WebHost.dll"
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Precompiling failed for C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm64\linked\System.Web.Http.WebHost.dll with exit code 1.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Failed to load method 0x6000072 from 'C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm64\linked\System.Web.Http.WebHost.dll' due to Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies..
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Run with MONO_LOG_LEVEL=debug for more information.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOT of image obj\Release\net7.0-android\android-arm64\linked\System.Web.Http.WebHost.dll failed.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Mono Ahead of Time compiler - compiling assembly C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm64\linked\System.Web.Http.WebHost.dll
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOTID 54EF8F31-4254-15D9-06AA-EE5429D2265B
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile'
2>[1/188] Azure.Identity.dll -> Azure.Identity.dll.so
2>[2/188] System.Net.Http.Formatting.dll -> System.Net.Http.Formatting.dll.so
2>[3/188] System.Web.Http.dll -> System.Web.Http.dll.so
2>[4/188] Azure.Core.dll -> Azure.Core.dll.so
2>[System.Web.Http.WebHost.dll] Exec (with response file contents expanded) in C:\Users\perfe\source\repos\MauiApp2\MauiApp2: MONO_PATH=C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm\linked; MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm\7.0.3\Sdk\..\tools\mono-aot-cross.exe --debug --nollvm "--aot=asmwriter,temp-path=obj\Release\net7.0-android\android-arm\aot\armeabi-v7a\System.Web.Http.WebHost,profile-only,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile,mtriple=armv7-linux-gnueabi,tool-prefix=C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\binutils\bin\arm-linux-androideabi-,outfile=obj\Release\net7.0-android\android-arm\aot\System.Web.Http.WebHost.dll.so,ld-name=ld,ld-flags=--no-relax -s" "obj\Release\net7.0-android\android-arm\linked\System.Web.Http.WebHost.dll"
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Precompiling failed for C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm\linked\System.Web.Http.WebHost.dll with exit code 1.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Mono Ahead of Time compiler - compiling assembly C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm\linked\System.Web.Http.WebHost.dll
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOTID EE1C42BA-B3E2-FFEF-560E-11B0D9E1917B
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Failed to load method 0x6000072 from 'C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-arm\linked\System.Web.Http.WebHost.dll' due to Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies..
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Run with MONO_LOG_LEVEL=debug for more information.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOT of image obj\Release\net7.0-android\android-arm\linked\System.Web.Http.WebHost.dll failed.
2>[5/188] Microsoft.AspNetCore.Components.dll -> Microsoft.AspNetCore.Components.dll.so
2>Die Erstellung des Projekts "MauiApp2.csproj" ist abgeschlossen -- FEHLER.
2>[5/188] Microsoft.AspNetCore.Components.dll -> Microsoft.AspNetCore.Components.dll.so
2>[6/188] Microsoft.AspNetCore.Components.WebView.dll -> Microsoft.AspNetCore.Components.WebView.dll.so
2>[7/188] Microsoft.AspNetCore.Components.Web.dll -> Microsoft.AspNetCore.Components.Web.dll.so
2>[8/188] Microsoft.AspNetCore.Components.WebView.Maui.dll -> Microsoft.AspNetCore.Components.WebView.Maui.dll.so
2>Die Erstellung des Projekts "MauiApp2.csproj" ist abgeschlossen -- FEHLER.
2>[1/188] Azure.Core.dll -> Azure.Core.dll.so
2>[2/188] System.Net.Http.Formatting.dll -> System.Net.Http.Formatting.dll.so
2>[System.Web.Http.WebHost.dll] Exec (with response file contents expanded) in C:\Users\perfe\source\repos\MauiApp2\MauiApp2: MONO_PATH=C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked; MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64\7.0.3\Sdk\..\tools\mono-aot-cross.exe --debug --nollvm "--aot=asmwriter,temp-path=obj\Release\net7.0-android\android-x64\aot\x86_64\System.Web.Http.WebHost,profile-only,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile,profile=C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile,mtriple=x86_64-linux-android,tool-prefix=C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\binutils\bin\x86_64-linux-android-,outfile=obj\Release\net7.0-android\android-x64\aot\System.Web.Http.WebHost.dll.so,ld-name=ld,ld-flags=--no-relax -s" "obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll"
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Precompiling failed for C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll with exit code 1.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Failed to load method 0x6000072 from 'C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll' due to Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies..
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Run with MONO_LOG_LEVEL=debug for more information.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOT of image obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll failed.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Mono Ahead of Time compiler - compiling assembly C:\Users\perfe\source\repos\MauiApp2\MauiApp2\obj\Release\net7.0-android\android-x64\linked\System.Web.Http.WebHost.dll
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : AOTID 2FF38158-4C87-5F16-CDBE-AAB4D8FFFA5B
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui.aotprofile'
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\targets\Microsoft.Android.Sdk.Aot.targets(91,5): error : Using profile data file 'C:\Program Files\dotnet\packs\Microsoft.Maui.Sdk\7.0.59\Sdk\maui-blazor.aotprofile'
2>[3/188] System.Web.Http.dll -> System.Web.Http.dll.so
2>[4/188] Azure.Identity.dll -> Azure.Identity.dll.so
2>[5/188] Microsoft.AspNetCore.Components.Web.dll -> Microsoft.AspNetCore.Components.Web.dll.so
2>[6/188] Microsoft.AspNetCore.Components.dll -> Microsoft.AspNetCore.Components.dll.so
2>[7/188] Microsoft.AspNetCore.Components.WebView.dll -> Microsoft.AspNetCore.Components.WebView.dll.so
2>[8/188] Microsoft.AspNetCore.Components.WebView.Maui.dll -> Microsoft.AspNetCore.Components.WebView.Maui.dll.so
2>Die Erstellung des Projekts "MauiApp2.csproj" ist abgeschlossen -- FEHLER.
========== Alle neu erstellen: 1 erfolgreich, 1 fehlgeschlagen, 0 übersprungen ==========
========== Verstrichen 06:28,309 ==========
mkArtakMSFT commented 1 year ago

Thanks for contacting us. Can you try to disable trimming and see if that fixes the issue. Here are the relevant docs: https://learn.microsoft.com/dotnet/core/deploying/trimming/trimming-options?pivots=dotnet-7-0

ghost commented 1 year ago

Hi @true-perfect-code. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

true-perfect-code commented 1 year ago

I have checked both csproj files (you can actually check them yourself on GitHub). It seems that trimming is not activated. I checked once in rcl.csproj and once in the file MauiApp2.csproj. here also the links:

https://github.com/true-perfect-code/MauiApp_RCLreference/blob/master/MauiApp2/MauiApp2.csproj

https://github.com/true-perfect-code/MauiApp_RCLreference/blob/master/rcl/rcl.csproj

EDIT I found another option under Properties that enabled trimming for Release. I deactivated the checkbox and then tried to create a release build again. Unfortunately, I now get the following message:

Error XA1030 The 'RunAOTCompilation' MSBuild property is only supported when trimming is enabled. Edit the project file in a text editor to set 'PublishTrimmed' to 'true' for this build configuration. MauiApp2 C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.4\tools\Xamarin.Android.Common.targets 519

What now?

image

EDIT 2

Referring to this posting, at least now I was able to generate an aab file.

https://stackoverflow.com/questions/74196304/net-maui-publishing-android-app-fails-due-to-issue-during-linking

Can someone from the MAUI team confirm that the deactivation I made under Settings is correct?

Thank you

EDIT 3 By the way, I found another article about trimming (is not NET 7 but 5):

https://ivanderevianko.com/2020/09/make-apps-small-again-trimming-net-5

In the section "Trimming is not safe" it says, the following:

"But what about reflection? This is a catch. ILink tool will simple remove the assembly, member or type if you do not specify otherwise manually. That is why you should be really careful with enabling trimming and using it in production."

In my github-example project there is no reflection, but in all my other projects I use a lot of reflection! Does this mean that I should try to avoid trimming and I should always deactivate it under Settings?

Thank you

MackinnonBuck commented 1 year ago

Thanks for reaching out. This library is meant to be used on Windows only, on .NET Framework 4.x, so it's not compatible with non-Windows platforms.

true-perfect-code commented 1 year ago

Hello @MackinnonBuck I can't really place your answer? First of all, it contradicts @mkArtakMSFT's statement, which has already helped me! Secondly, if this is as you write, then why can I run my app in debug mode via both emulator and USB cable on a real device?

Please explain your answer in relation to the fact that now everything works after I turned off the trimming function. Also, my question has been whether it is planned to disable this trimming function, because by default it is enabled (in other words, what are the disadvantages/advantages of it and where to be careful)?

Thank you

MackinnonBuck commented 1 year ago

Reopening to discuss this at the next triage meeting

mkArtakMSFT commented 1 year ago

@true-perfect-code, mixing .NET Framework and .NET Core packages is not a supported scenario. Glad that disabling trimming solves this for you. Closing this as there is no more action pending for us to take here.

halter73 commented 1 year ago

Why are you bringing in Microsoft.AspNet.WebApi? Notice that it contains "AspNet" and not "AspNetCore" in the package name, so it's for on the older System.Web-based version of ASP.NET, not ASP.NET Core. System.Web is not supported by blazor.

true-perfect-code commented 1 year ago

I have created Razor Class Library project and these nugets have already been in it, I can't uninstall them either:

image

To mix MAUI, Blazor Server and minimal API I used RCL to put shared code.

If there is a better suggestion, I am of course interested to hear it.

Thanks