C# dotnetcore3.1&;CSC:预定义类型';System.Object';未定义或导入
我必须扩展一个内部构建系统来编译针对.Net Core 3的C#文件 到目前为止,系统能够处理源集、引用和库目录, 其中,它生成以下命令:C# dotnetcore3.1&;CSC:预定义类型';System.Object';未定义或导入,c#,.net-core,C#,.net Core,我必须扩展一个内部构建系统来编译针对.Net Core 3的C#文件 到目前为止,系统能够处理源集、引用和库目录, 其中,它生成以下命令: “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
“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”
我试图寻找解决办法。建议的解决方案要么建议一些不相关的内容(比如删除一些生成的目录),要么建议添加引用。关于后者,我添加了以下参考资料:
- netstandard.dll
- mscorlib.dll
- System.dll
- System.Core.dll
如果它不是引用,那么我还缺少什么?您需要
System.Runtime.dll
请注意,仅提供
/lib:"C:/Program Files/dotnet/shared/Microsoft.NETCore.App/3.1.4"
这还不够。这只是将在其中搜索引用的程序集的目录。但是您仍然需要通过/reference
(或/r
)选项提供每个特定的引用程序集:
。。。等
MSBuild或
dotnet.exe
为您执行此操作。添加System.Runtime.dll
(或您建议的其他程序集)并不能解决此问题:(任何其他线索?“在我的机器上,它可以工作”。请发布整个命令行。
/reference:mscorlib.dll /reference:netstandard.dll /reference:System.Collections.dll /reference:System.Console.dll