我正在生成一些动态的C#代码,并希望将其编译为.NET Core应用程序。但是,似乎缺少deps.json文件,以使其实际可运行。
因此,编译本身可以工作,但在运行
在代码中,我这样做:
如何为我的编译生成正确的deps.json文件?
dotnet [dll名称]
时会出现错误:在代码中,我这样做:
CSharpCompilation compilation = CSharpCompilation.Create(assemblyName,
syntaxTrees: files,
references: references,
options: new CSharpCompilationOptions(OutputKind.ConsoleApplication,
optimizationLevel: OptimizationLevel.Debug
)
);
FileUtility.CreateDirectory(outputDllPath);
EmitResult result = compilation.Emit(outputDllPath, pdbPath: outputPdbPath);
引用集合包含Microsoft.NETCore.App和netstandard 2.0.0 ref dll,以及其他符合netstandard2.0的特定dll。
这可以无错误地工作。运行时我得到:
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Object' from assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
如何为我的编译生成正确的deps.json文件?