繁体   English   中英

System.PlatformNotSupportedException 来自 CompileAssemblyFromSource

[英]System.PlatformNotSupportedException from CompileAssemblyFromSource

所以在做一个小项目时,我需要将一些文本文件编译成可执行文件以进行优化等等。 当我运行应该编译文件的代码时,它停止并在 CompileAssemblyFromSource 上给了我那个异常。 在研究了一些潜在的修复之后,我意识到我不知道是什么导致了这个问题以及我将如何修复它。 鉴于异常的起源,显然我使用的某个版本与 CompileAssemblyFromSource 不兼容,但问题出现了,我不知道什么版本不兼容,我不确定如何实际应用修复它。

注意:我确定它不是我的 .NET Network 版本,也不是 .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 核心时遇到了同样的问题。
这是因为 dotnet“经典”上可用的 CodeDom 编译器不适用于 dotnet 核心。
但是您可以改用roselyn 编译器来做类似的工作。
我能够按照这篇文章(用 CSharp 替换 VisualBasic)使我的应用程序工作,它利用Roselyn 分析器 API 动态构建代码并加载程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM