码迷,mamicode.com
首页 > 其他好文 > 详细

C#使用CodeDom动态加载cs文件

时间:2014-09-01 09:17:52      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   ar   文件   div   cti   

public static object Create(string path)
{
    var provOptions = new Dictionary<string, string>();
    provOptions.Add("CompilerVersion", "v3.5");

    CodeDomProvider codeDomProvider = new CSharpCodeProvider(provOptions);
    CompilerParameters compilerParameters = new CompilerParameters();
    compilerParameters.GenerateExecutable = false;
    compilerParameters.GenerateInMemory = true;
    compilerParameters.ReferencedAssemblies.Add("mscorlib.dll");
    compilerParameters.ReferencedAssemblies.Add("System.dll");
    compilerParameters.ReferencedAssemblies.Add("System.Core.dll");
    string[] code = new string[1];
    code[0] = File.ReadAllText(path);
    CompilerResults compilerResults =
    codeDomProvider.CompileAssemblyFromSource(compilerParameters, code);

    Assembly ass = compilerResults.CompiledAssembly;
    var obj = ass.GetTypes().FirstOrDefault();
    return Activator.CreateInstance(obj);
}

一定要引用mscorlib,否则CodeDom编译出错

C#使用CodeDom动态加载cs文件

标签:style   blog   color   io   使用   ar   文件   div   cti   

原文地址:http://www.cnblogs.com/FEAUOR/p/3948553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!