使用CodeDomProvider 和 CompilerParameters2个类动态编译正常cs字符串代码没问题,但是代码块包含unsafe关键字会出错,如何解决。
参考
https://stackoverflow.com/questions/13392604/building-program-with-unsafe-code-in-codedom
using System.CodeDom.Compiler;
using Microsoft.CSharp;
class Test
{
public static void Main(string[] args)
{
var compiler = new CSharpCodeProvider();
var parameters = new CompilerParameters {
CompilerOptions = "/unsafe"
};
var source = "unsafe struct Foo {}";
var result = compiler.CompileAssemblyFromSource(parameters, source);
// No errors are shown with the above options set
foreach (var error in result.Errors)
{
Console.WriteLine(error);
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!