You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft.Extensions.DependencyInjection中使用MAUI IAppInfo

MAUI内置IAppInfo的依赖注入正确配置方式

问题根源在于MAUI的AppInfo是静态类,无法直接作为实现类型注册到DI容器中。正确的做法是利用它的静态Instance属性获取平台特定的IAppInfo实例,再通过DI的工厂方法完成注册。

替换你原来的DI注册代码,改为:

builder.Services.AddSingleton<IAppInfo>(AppInfo.Instance);

或者使用带服务提供者参数的重载写法(效果一致):

builder.Services.AddSingleton<IAppInfo>(sp => AppInfo.Instance);

修改后的完整相关代码示例:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Maui.ApplicationModel;
// other stuff
MauiAppBuilder builder = MauiApp.CreateBuilder();
builder.Services
    .AddSingleton<IAppInfo>(AppInfo.Instance)
    // other services
    ;
// rest of builder code

这样配置后,DI容器会将AppInfo.Instance这个已有的跨平台实例作为单例服务注入,你就可以在项目中通过构造函数注入IAppInfo来获取应用信息,解决之前的跨平台问题。

内容的提问来源于stack exchange,提问作者donaldp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:54:56