.NET MAUI项目无法安装MauiEssentialsApp.Services包求助
解决方案:.NET MAUI安装MauiEssentialsApp.Services包时的NU1213错误
核心结论
你不需要手动安装MauiEssentialsApp.Services或Microsoft.Maui.Essentials.Runtime.any包——.NET MAUI项目默认已集成MAUI Essentials核心功能,手动安装会引发类型/版本冲突。
具体修复步骤
移除错误的包引用
- 打开项目的
.csproj文件,删除所有包含MauiEssentialsApp.Services或Microsoft.Maui.Essentials.Runtime.any的<PackageReference>节点 - 或在NuGet包管理器中找到这些包,点击卸载
- 打开项目的
验证项目的MAUI核心引用
确保.csproj中包含以下官方MAUI引用(版本号需与你的SDK版本匹配,示例为7.0.96,对应错误中的版本):<PackageReference Include="Microsoft.Maui.Controls" Version="7.0.96" /> <PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="7.0.96" /> <PackageReference Include="Microsoft.NET.ILLink.Tasks" Version="7.0.0" PrivateAssets="all" />直接使用MAUI Essentials功能
拨号、邮件等功能无需额外包,直接调用官方API即可,同时需添加对应平台权限:- 拨号功能:
权限声明:using Microsoft.Maui.ApplicationModel.Communication; // 调用拨号 await PhoneDialer.Default.OpenAsync("1234567890");- Android:在
AndroidManifest.xml中添加<uses-permission android:name="android.permission.CALL_PHONE" /> - iOS:在
Info.plist中添加NSPhoneUsageDescription字段,说明拨号用途
- Android:在
- 邮件功能:
权限声明:using Microsoft.Maui.ApplicationModel.Communication; // 调用邮件 var message = new EmailMessage { Subject = "测试邮件", Body = "邮件内容", To = new List<string> { "test@example.com" } }; await Email.Default.ComposeAsync(message);- iOS:在
Info.plist中添加NSMailUsageDescription字段,说明邮件用途
- iOS:在
- 拨号功能:
清理重建项目
执行以下命令或在Visual Studio中操作:dotnet clean dotnet restore dotnet build
错误原因说明
Microsoft.Maui.Essentials.Runtime.any是.NET MAUI SDK的内部平台运行时依赖包,属于DotnetPlatform类型,仅用于SDK内部部署,不允许用户手动安装。而MauiEssentialsApp.Services并非官方包,可能是第三方包或错误命名,官方MAUI Essentials功能已完全集成在Microsoft.Maui.Controls中。
内容的提问来源于stack exchange,提问作者user22799871
相关产品推荐
相关产品推荐

