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.23k stars 1.76k forks source link

Default configurations for Debug and Release mode #25675

Open rezamohamed opened 1 week ago

rezamohamed commented 1 week ago

Description

Is there a single source of truth for the defaults for a Debug config and Release config for Android and iOS? Combing through the plethora of information on the web has been frustrating, especially when a build works in Debug and fails in Release and you are trying to figure out the delta of the builds. The information currently available seems to be pure descriptors without telling how to enable, or disable them/or what the defaults are and how they are configured in CSPROJ. Or they are outdated or for a different platform altogether.

Offhand, there is - linking, trimming, llvm, aot, multi-dex, r8, optimize, EmbedAssembliesIntoApk, to name a few. What are the correct means of enabling and disabling them in CSPROJ (especially now that a visual interface is not available in Mac, this is important)?

Steps to Reproduce

No response

Link to public reproduction project repository

No response

Version with bug

8.0.92 SR9.2

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

requesting source of truth for iOS and Android

Did you find any workaround?

No response

Relevant log output

No response

jfversluis commented 1 week ago

I think the reason that there is so much information is simply because there is no single source of truth here and its very much dependant on your situation and needs.

As for specifics to .NET MAUI, there is a doc on configuration options here. Those should cover the options that have a UI in Visual Studio (for Mac). I guess it could be a nice (community) initiative to have some screenshots of what in the VS for Mac UI maps to which of these options. Let me know if anyone does that!

Then for trimming we have information here. And NativeAOT is here.

Looking at EmbedAssembliesIntoApk which you specifically mention, that is something that is very specific to Android. So those can be found in the more .NET for Android specific docs.

I understand there are a lot of moving parts here, which is kind of by nature for a cross-platform framework I guess, but if you have any concrete ideas on how we can make it better, we'd love to hear that!

Does this help at all?

dotnet-policy-service[bot] commented 1 week ago

Hi @rezamohamed. 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.

dotnet-policy-service[bot] commented 3 days ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment. If it is closed, feel free to comment when you are able to provide the additional information and we will re-investigate.