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

Xamarin Android项目使用MailKit NuGet包遇文件加载异常问题

解决Xamarin Android中MailKit/MimeKit加载I18N文件失败的问题

问题场景

在Xamarin Android应用中使用MailKit发送邮件,已通过NuGet安装最新版MailKit和MimeKit,但执行var message = new MimeMessage();时触发错误:

System.IO.FileNotFoundException: 'Could not load the file 'I18N'

解决方案

1. 安装缺失的I18N相关NuGet包

MailKit与MimeKit依赖I18N库处理国际化逻辑,需补充安装:

  • 在NuGet包管理器中搜索并安装I18N
  • 同时建议安装I18N.West(覆盖多数场景下的西欧语言编码需求)
    安装完成后清理项目并重新生成。

2. 调整Android项目链接器设置

Xamarin Android的链接器可能过度裁剪依赖程序集,需配置保留I18N相关文件:

  • 打开Android项目属性,进入Android选项 -> 链接器
  • 将链接行为设置为SDK程序集仅(避免误删第三方依赖)
  • 或在忽略的程序集列表中添加I18N和I18N.West,强制链接器保留这两个程序集

3. 手动复制I18N程序集到输出目录

若上述方法无效,可手动复制依赖文件:

  • 找到NuGet安装目录下的I18N.dll和I18N.West.dll(路径通常为packages/I18N.x.x.x/lib/monoandroidxx)
  • 将两个文件复制到Android项目的libs文件夹
  • 在Visual Studio中选中这两个文件,设置生成操作为AndroidNativeLibrary,复制到输出目录为始终复制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:12:34