重命名.NET MAUI项目后如何清理并修复App.xaml错误
修复.NET MAUI重命名后WinUI平台App.xaml的错误
问题描述
通过解决方案资源管理器重命名.NET MAUI项目后,WinUI平台下的App.xaml出现两个错误:
- 错误XLS0414:未找到类型“maui:MauiWinUIApplication”
- 错误XLS0429:未定义命名空间,“using”URI引用的命名空间“BoomFin.WinUI”无法找到
用户提供的主项目App.xaml内容:
<?xml version = "1.0" encoding = "UTF-8" ?> <Application x:Class="BoomFin.App" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:BoomFin" > <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Resources/Styles/Colors.xaml" /> <ResourceDictionary Source="Resources/Styles/Styles.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>
WinUI平台下的App.xaml内容:
<maui:MauiWinUIApplication x:Class="BoomFin.WinUI.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:maui="using:Microsoft.Maui" xmlns:local="using:BoomFin.WinUI"> </maui:MauiWinUIApplication>
修复步骤
1. 修复“maui:MauiWinUIApplication未找到”错误
修改WinUI的App.xaml中maui命名空间的定义:
将xmlns:maui="using:Microsoft.Maui"替换为xmlns:maui="using:Microsoft.Maui.Controls"——因为MauiWinUIApplication类实际属于Microsoft.Maui.Controls命名空间。
修改后的WinUI App.xaml开头部分:
<maui:MauiWinUIApplication x:Class="BoomFin.WinUI.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:maui="using:Microsoft.Maui.Controls" xmlns:local="using:BoomFin.WinUI">
2. 修复“BoomFin.WinUI命名空间未找到”错误
- 打开WinUI项目对应的
App.xaml.cs文件,确认文件顶部的命名空间声明为namespace BoomFin.WinUI;,若不一致则修改。 - 右键WinUI项目(通常命名为
BoomFin.WinUI)选择“属性”,在“应用程序”选项卡中,将“默认命名空间”设置为BoomFin.WinUI,确保与XAML中的命名空间引用匹配。
3. 验证修复
- 清理并重建整个解决方案:点击Visual Studio菜单栏的“生成”->“清理解决方案”,随后点击“生成解决方案”;或使用命令行执行
dotnet clean和dotnet build。 - 检查WinUI项目的NuGet引用,确认
Microsoft.Maui.Controls和Microsoft.Maui.Controls.Compatibility包已正确安装(MAUI项目默认包含,重命名后一般不会丢失)。
内容的提问来源于stack exchange,提问作者DRF
相关产品推荐
相关产品推荐

