Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default configurations for Debug and Release mode #25675

Closed
rezamohamed opened this issue Nov 4, 2024 · 2 comments
Closed

Default configurations for Debug and Release mode #25675

rezamohamed opened this issue Nov 4, 2024 · 2 comments
Labels
platform/iOS 🍎 s/needs-info Issue needs more info from the author s/triaged Issue has been reviewed t/bug Something isn't working

Comments

@rezamohamed
Copy link

rezamohamed commented Nov 4, 2024

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

@rezamohamed rezamohamed added the t/bug Something isn't working label Nov 4, 2024
@ninachen03 ninachen03 added the s/triaged Issue has been reviewed label Nov 5, 2024
@jfversluis
Copy link
Member

jfversluis commented Nov 6, 2024

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?

@jfversluis jfversluis added the s/needs-info Issue needs more info from the author label Nov 6, 2024
@dotnet-policy-service dotnet-policy-service bot added the s/no-recent-activity Issue has had no recent activity label Nov 11, 2024
@SteveBush
Copy link

I proposed using Configuration.StartsWith('Debug') instead of Configuration == 'Debug' in issue dotnet/sdk#44920. I also wanted to second that it's a pain in the ass to discover all of the build settings tied to 'Debug' and 'Release' configurations across Maui and dotnet.

@dotnet-policy-service dotnet-policy-service bot removed the s/no-recent-activity Issue has had no recent activity label Nov 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform/iOS 🍎 s/needs-info Issue needs more info from the author s/triaged Issue has been reviewed t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants