1. /// <summary>
  2. /// 动态编译并执行代码
  3. /// </summary>
  4. /// <param name="code">代码</param>
  5. /// <param name="newPath">输出dll的路径</param>
  6. /// <returns>返回输出内容</returns>
  7. private CompilerResults debugRun(string[] code, string newPath)
  8. {
  9. CSharpCodeProvider complier = new CSharpCodeProvider();
  10. //设置编译参数
  11. CompilerParameters paras = new CompilerParameters();
  12. //引入第三方dll
  13. paras.ReferencedAssemblies.Add(@"System.dll");
  14. paras.ReferencedAssemblies.Add(@"System.configuration.dll");
  15. paras.ReferencedAssemblies.Add(@"System.Data.dll");
  16. paras.ReferencedAssemblies.Add(@"System.Management.dll");
  17. paras.ReferencedAssemblies.Add(@"System.Web.dll");
  18. paras.ReferencedAssemblies.Add(@"System.Xml.dll");
  19. paras.ReferencedAssemblies.Add(@"F:\AuthorizationService\Lib\Newtonsoft.Json\Net20\Newtonsoft.Json.dll");
  20. //引入自定义dll
  21. //paras.ReferencedAssemblies.Add(@"D:\自定义方法\自定义方法\bin\LogHelper.dll");
  22. //是否内存中生成输出
  23. paras.GenerateInMemory = false;
  24. //是否生成可执行文件
  25. paras.GenerateExecutable = false;
  26. paras.OutputAssembly = newPath;
  27.  
  28. //编译代码
  29. CompilerResults result = complier.CompileAssemblyFromSource(paras, code);
  30.  
  31. return result;
  32. }

c#动态编译并动态生成dll的更多相关文章

  1. 动态生成java、动态编译、动态加载

    我曾经见过一个“规则引擎”,是在应用系统web界面直接编写java代码,然后保存后,规则即生效,我一直很是奇怪,这是如何实现的呢?实际这就好像jsp,被中间件动态的编译成java文件,有被动态的编译成 ...

  2. Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布

    首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...

  3. 动态代理 原理简析(java. 动态编译,动态代理)

    动态代理: 1.动态编译 JavaCompiler.CompilationTask 动态编译想理解自己查API文档 2.反射被代理类 主要使用Method.invoke(Object o,Object ...

  4. Java的动态编译、动态加载、字节码操作

    想起来之前做的一个项目:那时候是把需要的源代码通过文件流输出到一个.java文件里,然后调用sun的Comipler接口动态编译成.class文件,然后再用专门写的一个class loader加载这个 ...

  5. QT发布 - 动态编译,删减以来dll

    经常看到网上有些论调说 Qt 程序无比庞大,甚至拿 .NET 程序来比,说 Qt 程序打包以后跟 .NET 安装包差不多大.由此影响了很多人对 Qt 的选择.我觉得有必要对此做一些澄清-- 显然这个说 ...

  6. 浅谈VB.Net 程序的编译和动态编译

    ---恢复内容开始--- 一般,我们都是通过Visual Studio(下面简称vs)来编写和编译vb.net应用程序的,但是,不少的人并不知道vs是通过何种方式编译程序的.今天,我们就来探讨一下编译 ...

  7. (转载)JAVA动态编译--字节代码的操纵

    在一般的Java应用开发过程中,开发人员使用Java的方式比较简单.打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了.这种开发模式背后的过程是:开发人员编写的 ...

  8. [改善Java代码]慎用动态编译

    建议17: 慎用动态编译 //=========这篇博文暂时理解不透......... 动态编译一直是Java的梦想,从Java 6版本它开始支持动态编译了,可以在运行期直接编译.java文件,执行. ...

  9. Java学习:注解,反射,动态编译

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解  什么是注解 ? Annotat ...

随机推荐

  1. django一些操作命令

    1.数据库与class类同步命令 syncdb command is deprecated in django 1.7. Use the python manage.py migrate instea ...

  2. 微信公众平台oauth2.0网页授权参考资料

    http://www.wangwenxiao.com/weixin/wxgzptoauth2_0wysq_12.html

  3. DataTable 只保留想要的几列

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  4. SpringMVC中如何在网站启动、结束时执行代码(详细,确保可用)

        在一个网站启动.结束时,我们经常有些操作是需要执行的. 熟悉Asp.net的朋友,使用Global.asax很容易就搞定,在其中有Application_Start和Application_E ...

  5. [转]DDD领域驱动设计基本理论知识总结

    领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章. 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity i ...

  6. XMLFeedSpider例子

    from scrapy import log from scrapy.contrib.spiders import XMLFeedSpider from myproject.items import ...

  7. 修复 OS X 的系统盘出现 Invalid Node Structure 问题

    昨晚我的MBP突然出现启动的时候会自动关机的问题.开机进入到 Recovery 模式之后,用 Disk Utility 检查系统盘,发现 Invalid Node Structure 错误, Disk ...

  8. Express URL跳转(重定向)的实现

    Express URL跳转(重定向)的实现   Express是一个基于Node.js实现的Web框架,其响应HTTP请求的response对象中有两个用于URL跳转方法res.location()和 ...

  9. #英文#品读中国城市个性——最好的和最坏的&当东方遇到西方

    冒险家的乐园 a playground of risk 实现发财梦 realize one's dreams of wealth 道德沦丧,堕落 moral deprivation 租界 foreig ...

  10. linux线程

    线程:轻量级进程,在资源.数据方面不需要进行复制 不间断地跟踪指令执行的路径被称为执行路线 进程的结构:task_struck:地址空间 线程:轻量级的进程 在同一个进程中创建的线程,在共享进程的地址 ...