MAUI编译后启动屏不显示、字体加载失败问题求助
编译MAUI项目时启动屏不显示、字体加载失败的问题与解决
问题现象
- 启动屏未正常显示,屏幕仅被资源中设置的primary颜色填充
- 已配置的自定义字体未加载,应用全程使用系统默认字体

临时解决办法
将启动屏图片和字体文件的Build Action修改为其他类型,再改回正常设置,即可解决下一次编译的问题。
关联异常场景
该问题常在新增MAUI页面后出现:此时VS会弹出“InitializeComponent在当前上下文中不存在”的错误,但应用仍可在调试模式下正常编译,且往往伴随Build Action异常。
相关配置信息
字体配置(MauiProgram.cs)
var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .UseMauiCommunityToolkit() .UseDevExpress() .UseSkiaSharp() .ConfigureFonts(fonts => { fonts.AddFont("PtSansR.ttf", "PTSansRegular"); fonts.AddFont("PtSansB.ttf", "PTSansBold"); fonts.AddFont("PtSansI.ttf", "PTSansItalic"); fonts.AddFont("PtSansBi.ttf", "PTSansBoldItalic"); fonts.AddFont("GenBkBasR.ttf", "GentiumBookBasicRegular"); fonts.AddFont("GenBkBasB.ttf", "GentiumBookBasicBold"); fonts.AddFont("GenBkBasI.ttf", "GentiumBookBasicItalic"); fonts.AddFont("GenBkBasBi.ttf", "GentiumBookBasicBoldItalic"); });
启动屏配置(项目文件)
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#ffffff" BaseSize="256,256" />
图片配置(项目文件)
<MauiImage Include="Resources\Images\*" /> <MauiImage Include="Resources\Images\Action\*" /> <MauiImage Include="Resources\Images\Container\*" /> <MauiImage Include="Resources\Images\Icons\*" /> <MauiImage Include="Resources\Images\Info\*" /> <MauiImage Include="Resources\Images\Popup\*" /> <MauiImage Include="Resources\Images\Support\*" /> <MauiImage Update="Resources\Images\brand.png" Resize="True" BaseSize="168,208" />
使用的NuGet包(项目文件)
<ItemGroup> <PackageReference Include="CommunityToolkit.Maui" Version="8.0.1" /> <PackageReference Include="CommunityToolkit.Maui.Core" Version="8.0.1" /> <PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /> <PackageReference Include="DevExpress.Maui.Charts" Version="23.2.6" /> <PackageReference Include="DevExpress.Maui.Controls" Version="23.2.6" /> <PackageReference Include="DevExpress.Maui.Core" Version="23.2.6" /> <PackageReference Include="DevExpress.Maui.Editors" Version="23.2.6" /> <PackageReference Include="DevExpress.Maui.Gauges" Version="23.2.6" /> <PackageReference Include="DevExpress.Maui.Scheduler" Version="23.2.6" /> <PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" /> <PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" /> <PackageReference Include="OneSignalApi" Version="2.0.2" /> <PackageReference Include="OneSignalSDK.DotNet" Version="5.1.3" /> <PackageReference Include="Refractored.MvvmHelpers" Version="1.6.2" /> <PackageReference Include="SkiaSharp.Extended.UI.Maui" Version="2.0.0" /> <PackageReference Include="SkiaSharp.Views.Maui.Core" Version="2.88.8" /> <PackageReference Include="sqlite-net-pcl" Version="1.9.172" /> <PackageReference Include="SQLiteNetExtensions" Version="2.1.0" /> <PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.1.10" /> <PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.10" /> <PackageReference Include="SQLitePCLRaw.provider.sqlite3" Version="2.1.10" /> </ItemGroup>
问题提问
该问题的成因是什么?如何彻底解决?
内容的提问来源于stack exchange,提问作者user7862339
相关产品推荐
相关产品推荐

