炫意html5
最早CSS3和HTML5移动技术网站之一

.net 5.0 怎么不支持动态编译了?

代码如下

[SupportedOSPlatform(“windows”)]
public void Test1() {
CompilerParameters options = new CompilerParameters();
options.GenerateExecutable = false;
options.GenerateInMemory = true;
options.ReferencedAssemblies.Add(“System.dll”);

        CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
string[] sources = new string[] { this.ReadSourceCode() };
CompilerResults results = provider.CompileAssemblyFromSource(options, sources);
if (results.Errors.HasErrors == true) {
StringBuilder builder = new StringBuilder();
foreach (CompilerError error in results.Errors) {
builder.AppendLine(error.ToString());
}
}
}

运行到 provider.CompileAcemblyFromSource 就抛出了不支持平台异常

回答

不但支持,还大力支持,早就实现了自举,用roslyn即可。

https://github.com/dotnet/roslyn/blob/main/docs/wiki/Scripting-API-Samples.md

注意相关的所谓Script不是真正的Script,仍然是编译模式,意味着上述链接中实际是编译模式,要自己玩过程参数,把该模块源码看看就行了。。

炫意HTML5 » .net 5.0 怎么不支持动态编译了?

Java基础教程Android基础教程