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

从Xamarin Forms迁移至.NET MAUI:类库SecureStorage适配问题

解决.NET MAUI中类库使用SecureStorage的异常与编译问题

问题分析

你遇到的核心问题是:原Xamarin类库依赖Xamarin.Essentials的SecureStorage,迁移到.NET MAUI主项目后,要么运行时抛出NotImplementedInReferenceAssemblyException(因为类库用的是Xamarin.Essentials便携版,无平台实现),要么添加UseMauiEssentials后出现编译错误(因为netstandard2.0类库未正确引用MAUI Essentials的定义)。


解决方案

方案1:将类库升级为.NET MAUI类库(推荐)

这种方式能完全适配MAUI生态,避免兼容问题:

  1. 修改类库的.csproj,将TargetFramework替换为与你的MAUI主项目一致的多目标框架,比如:
    <PropertyGroup>
      <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
      <UseMaui>true</UseMaui>
      <PackOnBuild>true</PackOnBuild>
      <PackageVersion>1.1.0</PackageVersion>
      <Authors>Pepito</Authors>
      <Description>Mobility Serviceslibrary</Description>
      <PackageId>Mobility.Services</PackageId>
    </PropertyGroup>
    
  2. 卸载类库中的Xamarin.Essentials NuGet包,MAUI类库默认集成Microsoft.Maui.Essentials。
  3. 将类库中使用SecureStorage的代码命名空间替换为:
    using Microsoft.Maui.Storage;
    
  4. 重新编译类库并引用到MAUI主项目,原SecureStorage的调用逻辑无需修改。

方案2:保留netstandard2.0类库

如果需要保持类库的netstandard兼容性,按以下步骤调整:

  1. 修改类库的.csproj,添加Microsoft.Maui.Essentials的NuGet引用(版本需与MAUI主项目一致):
    <PropertyGroup>
      <TargetFramework>netstandard2.0</TargetFramework>
      <PackOnBuild>true</PackOnBuild>
      <PackageVersion>1.1.0</PackageVersion>
      <Authors>Pepito</Authors>
      <Description>Mobility Serviceslibrary</Description>
      <PackageId>Mobility.Services</PackageId>
      <UseMauiEssentials>true</UseMauiEssentials>
    </PropertyGroup>
    
    <ItemGroup>
      <PackageReference Include="Microsoft.Maui.Essentials" Version="7.0.92" />
    </ItemGroup>
    
  2. 卸载类库中的Xamarin.Essentials NuGet包,替换命名空间为using Microsoft.Maui.Storage;。
  3. 卸载MAUI主项目中可能存在的Xamarin.Essentials包,避免版本冲突。

关键说明

  • .NET MAUI不再推荐使用Xamarin.Essentials,其功能已整合到Microsoft.Maui.Essentials中,命名空间也做了调整。
  • netstandard2.0类库仅通过UseMauiEssentials无法获取SecureStorage的定义,必须显式引用Microsoft.Maui.Essentials包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:02:55