dotnet / dotnet/android

`ApplicationAttribute` XML invalid character error, does not give line number or file path

Open
#8,349 12 comments 0 reactions 2 assignees Claimed by @jonathanpeppers View on GitHub
Area: App+Library Build bug
Dominant language
C#
Stars
2.1k
Forks
579
Avg merge
1d 20h
Merged PRs (30d)
257

Description

### Android application type

.NET Android (net7.0-android, etc.)

### Affected platform version

VS 2022, Version 17.7.3, .Net 7, Maui, Android App

### Description

This was building on the weekend, I'm made no changes to the project.
The android App was running on a target device (NOT an emulator) running Android 13.

When I now build I get the following error:
Error XAGJS7004 System.ArgumentException: ' ', hexadecimal value 0x0C, is an invalid character.

I have check every possible file and line I know to check. No idea why this happens NOW.
Zero changes over the weekend.

Here's the full error:
_Severity Code Description Project File Line Suppression State
Error XAGJS7004 System.ArgumentException: ' ', hexadecimal value 0x0C, is an invalid character.
at System.Xml.XmlEncodedRawTextWriter.WriteAttributeTextBlock(Char* pSrc, Char* pSrcEnd)
at System.Xml.XmlEncodedRawTextWriter.WriteString(String text)
at System.Xml.XmlWellFormedWriter.WriteString(String text)
at System.Xml.Linq.ElementWriter.WriteStartElement(XElement e)
at System.Xml.Linq.ElementWriter.WriteElement(XElement e)
at System.Xml.Linq.XElement.WriteTo(XmlWriter writer)
at System.Xml.Linq.XNode.GetXmlString(SaveOptions o)
at Xamarin.Android.Tasks.ManifestDocument.<>c.b__92_0(XElement x)
at System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.GroupedEnumerable`3.GetEnumerator()
at System.Linq.Enumerable.d__17`2.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.RemoveDuplicateElements()
at Xamarin.Android.Tasks.ManifestDocument.Save(Action`2 logCodedWarning, TextWriter stream, Boolean removeNodes)
at Xamarin.Android.Tasks.ManifestDocument.Save(Action`2 logCodedWarning, Stream stream, Boolean removeNodes)
at Xamarin.Android.Tasks.ManifestDocument.SaveIfChanged(TaskLoggingHelper log, String filename)
at Xamarin.Android.Tasks.GenerateJavaStubs.Run(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.GenerateJavaStubs.RunTask()
at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17 mycompany C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.68\tools\Xamarin.Android.Common.targets 1476_

### Steps to Reproduce

No idea.

Possibly create new Maui app, target Android, target latest OS version, target latest SDK.

### Did you find any workaround?

No

### Relevant log output

```shell
Severity Code Description Project File Line Suppression State
Error XAGJS7004 System.ArgumentException: ' ', hexadecimal value 0x0C, is an invalid character.
at System.Xml.XmlEncodedRawTextWriter.WriteAttributeTextBlock(Char* pSrc, Char* pSrcEnd)
at System.Xml.XmlEncodedRawTextWriter.WriteString(String text)
at System.Xml.XmlWellFormedWriter.WriteString(String text)
at System.Xml.Linq.ElementWriter.WriteStartElement(XElement e)
at System.Xml.Linq.ElementWriter.WriteElement(XElement e)
at System.Xml.Linq.XElement.WriteTo(XmlWriter writer)
at System.Xml.Linq.XNode.GetXmlString(SaveOptions o)
at Xamarin.Android.Tasks.ManifestDocument.<>c.b__92_0(XElement x)
at System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.GroupedEnumerable`3.GetEnumerator()
at System.Linq.Enumerable.d__17`2.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.d__92.MoveNext()
at Xamarin.Android.Tasks.ManifestDocument.RemoveDuplicateElements()
at Xamarin.Android.Tasks.ManifestDocument.Save(Action`2 logCodedWarning, TextWriter stream, Boolean removeNodes)
at Xamarin.Android.Tasks.ManifestDocument.Save(Action`2 logCodedWarning, Stream stream, Boolean removeNodes)
at Xamarin.Android.Tasks.ManifestDocument.SaveIfChanged(TaskLoggingHelper log, String filename)
at Xamarin.Android.Tasks.GenerateJavaStubs.Run(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.GenerateJavaStubs.RunTask()
at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17 mycompany C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.68\tools\Xamarin.Android.Common.targets 1476
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.