[英]Dotnet Core 3.1 & CSC: Predefined type 'System.Object' is not defined or imported
我必须扩展一个内部构建系统来编译针对.Net Core 3 的 C# 文件。
到目前为止,系统能够处理源集、引用和 lib 目录,并在其中生成以下命令:
"C:\Program Files\dotnet\dotnet.exe" exec "C:/Program Files/dotnet/sdk/3.1.300/Roslyn/bincore/csc.dll" -nologo -target:library "-lib:C:/Program Files/dotnet/shared/Microsoft.NETCore.App/3.1.4" -r:netstandard.dll C:/Users/kirsch/Documents/Repositories/ComplexProject/lib/csharp/native/VeryComplexLogic.cs -out:C:/Users/kirsch/Documents/Repositories/ComplexProject/default/ComplexProject.net.626a237a/ComplexProject.net.dll
可悲的是,这失败并出现以下错误:
错误 CS0518:未定义或导入预定义类型“System.Object”
我试图寻找解决方案。 建议的解决方案要么提出了一些不相关的建议(比如删除一些生成的目录),要么建议添加引用。 追求后者,我添加了以下参考:
然而,引用这些并没有解决问题。
结束我的问题:我缺少哪个参考?
如果它不是参考,那么我还缺少什么?
您需要System.Runtime.dll
。
请注意,只需提供
/lib:"C:/Program Files/dotnet/shared/Microsoft.NETCore.App/3.1.4"
是不足够的。 这只是一个目录,将在其中搜索引用的程序集。 但是您仍然需要通过/reference
(或/r
)选项提供每个特定的引用程序集:
/reference:mscorlib.dll /reference:netstandard.dll /reference:System.Collections.dll /reference:System.Console.dll
... ETC
MSBuild 或dotnet.exe
为您执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.