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

Linux下使用csc编译调用Newtonsoft.Json的C#代码报CS0012错误如何解决

CS0012编译错误解决方案

根本原因

你使用的Newtonsoft.Json v13.x版本是基于.NET Standard 2.0规范编译的类库,而Linux环境下Mono套件自带的csc编译器默认编译时仅会引用.NET Framework核心程序集,不会自动加载netstandard的适配Facade程序集,因此无法识别Newtonsoft.Json中依赖的基础类型定义,抛出CS0012错误。

解决方法

编译时显式额外引用netstandard.dll即可,Mono环境下该文件默认路径为/usr/lib/mono/4.5/Facades/netstandard.dll,完整编译命令如下:

csc -r:/home/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll -r:/usr/lib/mono/4.5/Facades/netstandard.dll test.cs

编译成功后运行程序:

mono test.exe

输出结果为:

test

可选优化

如果需要频繁编译同类项目,可以做如下配置简化操作:

  • 将netstandard.dll所在目录添加到csc的LIB环境变量,之后编译仅需写-r:netstandard.dll即可,无需输入全路径
  • 建议更换为.NET SDK进行C#开发,使用dotnet build命令会自动处理所有类库依赖引用,无需手动指定程序集路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:15:05