我在.Net Core 3.1
项目中动态地编译了c#代码。我将结果另存为.dll
文件,并试图在另一个项目中使用它。在目标项目中,将其添加为参考并尝试使用时,出现此错误
the type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Private.CoreLib,Version=4.0.0.0
。
我试图将代码编译为netstandard 2.1
。此外,在System.Private.CoreLib
的编译过程中还引用了_references
,但该版本比4.0.0.0
更新。
_references = new List<MetadataReference>();
_references.Add(MetadataReference.CreateFromFile(typeof(object).Assembly.Location));
_references.Add(MetadataReference.CreateFromFile(Assembly.Load("netstandard,Version=2.1").Location));
_references.Add(MetadataReference.CreateFromFile(typeof(Newtonsoft.Json.JsonConvert).GetTypeInfo().Assembly.Location));
我该如何解决这个问题?