在C#中动态编译和执行代码

见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看......

public static void CompileAndExecute(string code)
{
    // 创建语法树
    SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(code);
    // 设置编译选项
    string assemblyName = Path.GetRandomFileName();
    // 自动加载所有程序集引用
    var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => !a.IsDynamic).Select(a => MetadataReference.CreateFromFile(a.Location)).ToList();
    CSharpCompilation compilation = CSharpCompilation.Create(
        assemblyName,
        syntaxTrees: new[] { syntaxTree },
        references: assemblies,
        options: new CSharpCom

你可能感兴趣的:(高阶高效代码,c#,开发语言)