我收到此错误 App.xaml.cs(11,26,11,29): error CS0263: 'App' 的部分声明不得指定不同的基类。
using MauiApp1.Services.Core;
using Prism;
using Prism.Ioc;
using PrismApplication = Prism.PrismApplication;
namespace MauiApp1
{
public partial class App : PrismApplication
{
protected override async void OnInitialized()
{
InitializeComponent();
await NavigationService.NavigateAsync("NavigationPage/MainPage");
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
//containerRegistry.RegisterSingleton<IAppInfo, AppInfoImplementation>();
containerRegistry.RegisterForNavigation<NavigationPage>();
containerRegistry.RegisterForNavigation<MainPage, MainPageViewModel>();
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MauiApp1.App"
x:Class="MauiApp1.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/Colors.xaml" />
<ResourceDictionary Source="Resources/Styles/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
我不认为我可以用 Prisme 应用程序替换应用程序,但这就是我的错误较少的地方。
出现此错误是因为您现在在代码隐藏中指定
App
继承自 PrismApplication
,而在 XAML 中您将其指定为 Application
。
查看 Prism 的文档,似乎在您的
MauiProgram
中您应该执行 builder.UsePrismApp<App>(prism => {})
而不是默认的 builder.UseMauiApp<App>()
。
我没有看到任何关于您需要从
PrismApplication
继承这一事实的参考。另外,查看他们为测试而设置的演示项目,我没有看到他们这样做。
话虽如此,我对 Prism 没有非常丰富的经验,但看起来您可能需要检查文档和示例,了解 .NET MAUI 的使用情况如何发生变化。