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

在.NET MAUI与VS2022中为链接器添加库路径的问询

.NET MAUI 链接器设置与原生库路径配置方案

Android链接器选项的位置调整

在VS2022的MAUI项目里,Android的链接器设置没消失,只是换了地方:

  • 右键项目 → 属性 → 切换到Android标签页 → 往下找链接器分组(在“生成”板块下方)
  • 这里能设置链接行为(Sdk程序集、Sdk+用户程序集、无),也可以通过“忽略的程序集”添加不需要被链接的程序集

要是UI里找不到,直接编辑项目的.csproj文件更直接,添加以下配置:

<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-android'">
  <!-- 链接模式可选:None/SdkOnly/SdkAndUserAssemblies -->
  <AndroidLinkMode>SdkOnly</AndroidLinkMode>
  <!-- 多个忽略的程序集用分号分隔 -->
  <AndroidLinkSkip>YourAssemblyName1;YourAssemblyName2</AndroidLinkSkip>
</PropertyGroup>

手动添加.so库路径的方法

针对.so这类原生库,MAUI支持通过项目文件配置路径,不用依赖UI选项:

1. 项目文件直接配置

打开项目的.csproj文件,添加对应ABI的原生库配置:

<ItemGroup Condition="'$(TargetFramework)' == 'net7.0-android'">
  <!-- 引入arm64架构的.so库 -->
  <AndroidNativeLibrary Include="libs/arm64-v8a/libyourlibrary.so">
    <Abi>arm64-v8a</Abi>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </AndroidNativeLibrary>
  <!-- 按需添加其他架构,比如armeabi-v7a -->
  <AndroidNativeLibrary Include="libs/armeabi-v7a/libyourlibrary.so">
    <Abi>armeabi-v7a</Abi>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </AndroidNativeLibrary>
</ItemGroup>

注意要把.so文件放在对应ABI的子目录里(比如libs/arm64-v8a/),MAUI会自动打包到对应架构的APK中。

2. 额外注意事项

如果还是出现.so库加载失败,除了路径配置,还要检查:

  • 库的ABI和你测试设备的架构是否匹配
  • 库的版本和项目的Android目标SDK版本是否兼容
  • 是否已经用[DllImport("libyourlibrary.so")]正确声明了原生方法

关于MAUI与Xamarin的差异

MAUI对Xamarin的UI设置做了精简,把部分可视化选项转移到了项目文件编辑,但核心功能都保留了。iOS的链接器设置位置和Xamarin差别不大,Android的只是换了位置而已。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:26