【发布时间】:2020-01-23 23:18:41
【问题描述】:
我在 .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。在_references 的编译过程中也有对System.Private.CoreLib 的引用,但版本比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));
我该如何解决这个问题?
【问题讨论】:
标签: c# .net-core roslyn roslyn-code-analysis