我有一个简单的 C#/MAUI 应用程序 - 所有类都位于同一命名空间中。 突然出现这个奇怪的错误 XAGAP7000,谷歌搜索似乎没有帮助。 我也尝试修复 Visual Studio 安装。 仔细检查 XAML(见下文)。 彻底迷茫了!
Severity Code Description Project File Line Suppression State
Error (active) XAGAP7000 System.Xml.XmlException: The ':' character, hexadecimal value 0x3A, cannot be included in a name. Line 2, position 26.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ParseAttributes()
at System.Xml.XmlTextReaderImpl.ParseElement()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlReader.MoveToContent()
at Xamarin.Android.Tasks.GetAndroidPackageName.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 25 Calculator2 (net8.0-android) C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.95\tools\Xamarin.Android.Common.targets 618
但是当您双击此错误时,它会将您带到下面
Xamarin.Android.Common.targets
中代码片段的第一行,其中根本没有“:”:
<GetAndroidPackageName
ManifestFile="$(_AndroidManifestAbs)"
AssemblyName="$(AssemblyName)"
ManifestPlaceholders="$(AndroidManifestPlaceholders)"
PackageName="$(_AndroidPackage)">
<Output TaskParameter="PackageName" PropertyName="_AndroidPackage" />
</GetAndroidPackageName>
</Target>
这是我的 XAML 的顶部:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Adam"
x:Class="Adam.MainPage"
BackgroundColor="Black">
<ContentPage.BindingContext>
<local:AdamViewModel />
</ContentPage.BindingContext>
除此之外,我正在设计我的自定义按钮:
<Style TargetType="{x:Type local:Button2}">
并执行一些命令:
<local:Button2 (blah blah) Command="{Binding ButtonClick}" CommandParameter="A0" />
该绑定函数位于我的 ViewModel 类中。
感谢任何关于为什么 Visual Studio 2022 今天讨厌我的想法。
所以我最终解决了这个问题。
再多的解决方案清理、删除垃圾箱、修复、卸载等也没有任何作用。
似乎有效的是创建一个全新的解决方案,并复制我的所有代码。 然后一切都很好。 下一个工作是将命名空间更改回原来的样子,但至少现在可以正确构建和运行。