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

C# 使用libsodium-net运行时出现SodiumCore类型初始化异常求助

问题根因

你遇到的MissingMethodException与C++可再发行组件无关,核心原因是libsodium-net包已停止维护近10年,仅支持.NET Framework环境,不兼容.NET Core/.NET 5及更高版本的.NET运行时。旧版libsodium-net调用的AppDomain.DefineDynamicAssemblyAPI在.NET Core之后的版本中已被移除,因此运行时会触发方法找不到异常。

解决方案1:替换为当前维护的libsodium封装包(推荐)

直接弃用旧的libsodium-net,改用社区维护的Sodium.Core包,该包是libsodium-net的分支,完美适配所有新版.NET环境:

  • 右键你的项目,选择「管理NuGet程序包」
  • 卸载已安装的libsodium-net包
  • 搜索安装Sodium.Core最新稳定版
  • 原有代码几乎不需要修改,命名空间仍为Sodium,原有API完全兼容

解决方案2:必须使用原版libsodium-net的场景

需要将项目的目标框架切换为.NET Framework 4.x版本,步骤如下:

  • 右键项目选择「属性」
  • 在「应用程序」标签下的「目标框架」下拉菜单中选择.NET Framework 4.8或其他4.x版本
  • 保存修改后重新构建项目即可

C++可再发行组件安装失败解决

如果后续遇到需要安装不同版本VC++运行时遇到冲突,可以用微软官方的安装故障排除工具清理损坏的安装注册表项,之后即可正常安装对应版本的运行时组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:24:03