Closed true-perfect-code closed 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
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.
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?
EDIT 2
Referring to this posting, at least now I was able to generate an aab file.
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
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.
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
Reopening to discuss this at the next triage meeting
@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.
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.
I have created Razor Class Library project and these nugets have already been in it, I can't uninstall them either:
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
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"
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:
Steps to Reproduce
Use github repository https://github.com/true-perfect-code/MauiApp_RCLreference.git
or
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