因此,在做一个小项目时,我需要将一些文本文件编译成可执行文件,以便进行优化等等。当我运行本应编译该文件的代码时,它停止了,并在CompileAssemblyFromSource上给出了该异常。在研究了一些潜在的修复方法之后,我意识到我不知道是什么导致了这个问题,也不知道如何解决这个问题。考虑到异常的起源,我使用的某个版本有一个CompileAssemblyFromSource不兼容的版本,但随后出现了问题,我不知道什么版本没有兼容版本,我也不知道如何对其实际应用修复。
注意:我确信这与我的.NET网络版本不一样,也不是.NET或.NET核心,因为我已经检查了它们的版本,而且它似乎与.NET兼容。所以我很困惑。
这是我用来创建一个可执行文件的代码,如果有帮助的话。
var csc = new CSharpCodeProvider();
var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, path, true);
parameters.GenerateExecutable = true;
var code = File.ReadAllText(@"C:\Users\user\source\repos\M-KDTEA_main\M-KDTEA_main\keys\en-us\en-us_ekey.txt");
var results = csc.CompileAssemblyFromSource(parameters, code);事先非常感谢!
发布于 2020-11-24 20:25:18
我遇到了同样的问题,将一个旧的应用程序移植到dotnet核心。
这是因为在dotnet“经典”上可用的CodeDom编译器并不适用于dotnet核心。
但是您可以使用roselyn编译器来做类似的工作。
我能够让我的应用程序按照这篇文章 (用CSharp代替VisualBasic )工作,后者利用roselyn分析器API动态构建代码并加载程序集。
https://stackoverflow.com/questions/64922846
复制相似问题