Android framework version net9.0-android
Affected platform version any
Description Context: #9525
Context: dotnet/runtime#109724
As seen in the above issue, there is currently the expectation in .NET:
PublishTrimmed=true set for all configurations, it means "I intend to trim this project"Not all builds need to actually run illink. For console apps, dotnet build doesn't trim or illink, dotnet publishdoes trim and run illink. .NET SDK sets various feature switches based on PublishTrimmed Unfortunately, Android doesn't follow this pattern:
Debug mode, PublishTrimmed=false for build performance, inner loop Release mode, PublishTrimmed=true To fix this in .NET 10, we should:
Set PublishTrimmed=true always Disable illink in Debug mode via other means Steps to Reproduce dotnet new androiddotnet build (debug mode)Observe RuntimeInstanceNotAllowed Error Initializing XmlSerializer on Android Release Build in .NET 9 runtime#109724 Did you find any workaround? For the case above you could set $(_DefaultValueAttributeSupport) as done in #9525 .
Android framework version
net9.0-android
Affected platform version
any
Description
Context: #9525
Context: dotnet/runtime#109724
As seen in the above issue, there is currently the expectation in .NET:
PublishTrimmed=trueset for all configurations, it means "I intend to trim this project"illink. For console apps,dotnet builddoesn't trim orillink,dotnet publishdoes trim and runillink.PublishTrimmedUnfortunately, Android doesn't follow this pattern:
PublishTrimmed=falsefor build performance, inner loopPublishTrimmed=trueTo fix this in .NET 10, we should:
PublishTrimmed=truealwaysillinkin Debug mode via other meansSteps to Reproduce
dotnet new androiddotnet build(debug mode)Did you find any workaround?
For the case above you could set
$(_DefaultValueAttributeSupport)as done in #9525.