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

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);
}


知识共享许可协议
《C#使用CodeDom动态加载cs文件》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     167.31ms