因此,在做一个小项目时,为了优化起见,我需要将一些文本文件编译为可执行文件。当我运行应该编译该文件的代码时,它停止了运行,并在CompileAssemblyFromSource上给了我该异常。在研究了一些潜在的修复程序之后,我意识到对于导致此问题的原因以及如何解决该问题,我一无所知。给定异常的起源,我所使用的某种东西的版本显然与CompileAssemblyFromSource不兼容,但是出现了问题,我不知道什么没有兼容的版本,而且我不确定如何实际应用对其进行修复。
注意:我确定.NET网络版本,.NET或.NET Core都不会,因为我已经检查了它们的版本,并且它似乎与CAFS兼容。所以我很困惑。
如果有帮助,这就是我用来创建可执行文件的代码。
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);
提前谢谢了!
我遇到了将旧应用程序移植到dotnet core的同一问题。
这是因为在dotnet“经典”中可用的CodeDom编译器不适用于dotnet核心。
但是,您可以使用roselyn编译器来做类似的工作。
我能够按照本文(由CSharp替换VisualBasic)使我的应用程序正常工作,该文章利用roselyn分析器API在运行和加载程序集上构建代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句