c#动态编译并动态生成dll
2024-10-01 05:06:58
/// <summary>
/// 动态编译并执行代码
/// </summary>
/// <param name="code">代码</param>
/// <param name="newPath">输出dll的路径</param>
/// <returns>返回输出内容</returns>
private CompilerResults debugRun(string[] code, string newPath)
{
CSharpCodeProvider complier = new CSharpCodeProvider();
//设置编译参数
CompilerParameters paras = new CompilerParameters();
//引入第三方dll
paras.ReferencedAssemblies.Add(@"System.dll");
paras.ReferencedAssemblies.Add(@"System.configuration.dll");
paras.ReferencedAssemblies.Add(@"System.Data.dll");
paras.ReferencedAssemblies.Add(@"System.Management.dll");
paras.ReferencedAssemblies.Add(@"System.Web.dll");
paras.ReferencedAssemblies.Add(@"System.Xml.dll");
paras.ReferencedAssemblies.Add(@"F:\AuthorizationService\Lib\Newtonsoft.Json\Net20\Newtonsoft.Json.dll");
//引入自定义dll
//paras.ReferencedAssemblies.Add(@"D:\自定义方法\自定义方法\bin\LogHelper.dll");
//是否内存中生成输出
paras.GenerateInMemory = false;
//是否生成可执行文件
paras.GenerateExecutable = false;
paras.OutputAssembly = newPath; //编译代码
CompilerResults result = complier.CompileAssemblyFromSource(paras, code); return result;
}
最新文章
- MongoDB的CRUD操作
- 关于imagic拼接透明背景图片的问题
- MapReduce应用案例--单表关联
- 最简单的 Web Service 入门 (看了包会)
- 34. Search for a Range
- hibernateTemplate的load方法
- Apache mod_wsgi部署Django项目
- DNS解析
- iframe与父页面的js通信
- unity 在安卓个IOS平台上 同一个按钮 点击后实现不同的功能
- 让getElementsByClassName兼容
- Dockerfile中COPY命令的简单性
- Docker+Nginx+Keepalived实现架构高可用
- P2365 任务安排 / [FJOI2019]batch(斜率优化dp)
- Java Calendar详解
- CCF 推荐国际国内会议及中文核心期刊要目总览
- redux学习与使用
- Freemarker 基础概念
- Java 枚举类型设置数据字典
- dfs.replication、dfs.replication.min/max及dfs.safemode.threshold.pct
热门文章
- 还敢说你是程序员?一律师闲着没事写了个app,用户量600万
- JS基础学习(二)
- Mysql中eft join、right join、inner join的区别
- thinkphp 3.2.3 session 丟失問題
- 查看openssl的版本
- ble示例代码
- [BI项目记]-BUG处理
- Flume(4)实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式
- SOUI Editor使用教程
- 【学习篇:他山之石,把玉攻】jquery实现调用webservice