Skip to content

Encoding.ASCII is trimmed in Android/iOS in .NET8 #97576

Open
@devWR

Description

@devWR

Description

When trimming is enabled I cannot retrieve ASCII Encoding object. It looks like it's removed from Environment variables. It's working when trimmiing is disabled. Sample attached:
Expected:

  • Click button
  • Button text will update with Encoding name (US-ASCII) and encoding object will be initiated
    Actual:
  • Click button
  • Button text updates with incorrect name: Globalization_cp_20127 and then crashes when trying to retrieve encoding object

I tried to include in Linker.xml:



but unfortunately it didn't help.

Steps to Reproduce

  1. Create project in Maui (can be Android or iOS)
  2. Enable trimming
  3. Try to invoke: System.Text.Encoding.GetEncoding(System.Text.Encoding.ASCII.EncodingName, EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback.
  4. Crash happens

Link to public reproduction project repository

https://github.com/devWR/maui_encodingissue

No response

Version with bug

8.0.3

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android

Affected platform versions

Android 14/iOS15

Did you find any workaround?

No

Relevant log output

Encoding ASCII: Globalization_cp_20127
Argument_EncodingNotSupported, Globalization_cp_20127 Arg_ParamName_Name, name
System.ArgumentException: Argument_EncodingNotSupported, Globalization_cp_20127 Arg_ParamName_Name, name
   at System.Text.EncodingTable.InternalGetCodePageFromName(String )
   at System.Text.EncodingTable.GetCodePageFromName(String )
   at System.Text.Encoding.GetEncoding(String , EncoderFallback , DecoderFallback )

Metadata

Metadata

Assignees

Labels

area-System.Text.Encodinglinkable-frameworkIssues associated with delivering a linker friendly frameworktrimming-for-aot`EnableAggressiveTrimming=true` used for running tests with AOT

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions