C#动态编译引擎-CS-Script
什么是CS-Script?
CS-Script是一种以CLR(公共语言运行库)为基础的脚本系统,它使用ECMA标准的C#作为编程语言,它面向微软的CLR运行库(.net 2.0/3.0/3.5/4.0)并且完全支持Mono(http://www.oschina.net/p/mono)。
CS-Script是开源的,它的许可协议:http://www.csscript.net/Licence.html。支持商业化用途。
CS-Script 将c#语言与.net框架类库强大丰富的功能结合在一起,组成了灵活的脚本系统。它适用于自动化解决各种编程任务,对于系统/网络管理员、研发人员、测试人员很实用。
- CS-Script 的想法来自发表在(http://www.codeproject.com/KB/cs/cs-script_for_cp.aspx)上的一篇名为“CS-Script :失落的拼图”的文章,但是很快它的发展就超越了一个出版物的范畴,目前,在全球范围,它作为一种通用的脚本环境,被用来扩展程序功能。它适用于普通的程序爱好者和专业的研发人员,它波及非盈利机构与盈利机构。部分例子:MediaPortal, FlashDevelop, K2 API, SF.net ("WinTin"), BonSAI, AyaNova (service management software).
CS-Script的核心思想是:“在具有脚本引擎与CLR托管环境下的命令行及应用程序中执行:具有“单一功能”的c#代码片段“
动态使用脚本可以给系统带来很大的灵活性,它和可与.NET互交互的Ironpython有着某种异曲同工之处,Mono平台还有Mono shell(http://www.mono-project.com/CsharpRepl) ,CS-Script现在还支持Notepad++ CS-Script is now fully supported by Notepad++ (intellisense, execution...)
C#动态编译引擎-CS-Script的更多相关文章
- C#动态编译引擎-CS-Script 简单使用
Technorati 标记: cs-script 介绍可以参看 http://www.cnblogs.com/shanyou/p/3413585.html 还可以参看 这个 项目介绍 性能测试 c ...
- C# 动态类型与动态编译简介
关于C#的动态类型与动态编译的简介,主要是一个Demo. 动态类型 关键字: dynamic 这里有详细的介绍:[C#基础知识系列]专题十七:深入理解动态类型 动态类型的应用场景 可以减少强制转换(强 ...
- 使用 Roslyn引擎动态编译代码
Roslyn引擎自2014年开源至今这么久,一直没怎么了解过,虽然VS2015早就集成了它. 以前老一套的动态编译方法在 .NET Core中似乎不再支持了,很多方法都是未实现的.下面就介绍如何在.N ...
- 【开源】.Net 动态脚本引擎NScript
开源地址: https://git.oschina.net/chejiangyi/NScript 开源QQ群: .net 开源基础服务 238543768 .Net 动态脚本引擎 NScript ...
- ZKWeb网站框架的动态编译的实现原理
ZKWeb网站框架是一个自主开发的网页框架,实现了动态插件和自动编译功能. ZKWeb把一个文件夹当成是一个插件,无需使用csproj或xproj等形式的项目文件管理,并且支持修改插件代码后自动重新编 ...
- ANGULARJS 动态编译添加到dom中
在使用angularjs 时,希望通过动态构建angular模版,再通过angular进行展示. 使用 方法如下: <html ng-app="app"> <he ...
- .net 动态编译解决考勤计算问题
由于公司实施SAP HR项目,但是SAP HR对考勤功能真的太弱化了,直接从考勤机上读取的原始打卡记录不能直接传输到HR系统里面,因为SAP HR不能识别那些多余的打卡记录,而且必须把打卡记录进行成组 ...
- JIT(动态编译)和AOT(静态编译)编译技术比较
Java 应用程序的性能经常成为开发社区中的讨论热点.因为该语言的设计初衷是使用解释的方式支持应用程序的可移植性目标,早期 Java 运行时所提供的性能级别远低于 C 和 C++ 之类的编译语言.尽管 ...
- 【.net 深呼吸】细说CodeDom(9):动态编译
知道了如果构建代码文档,知道了如何生成代码,那么编译程序集就很简单了. CodeDomProvider 类提供了三个可以执行编译的方法: 1.CompileAssemblyFromSource——这个 ...
随机推荐
- TADOQuery学习总结
上一篇讲解了一些TADOQuery的简单的用法,但是还有很多方法没有讲到,这里就直接拿来主义,转载一篇<TADOQuery学习总结>为我所用. 1.Create三种参数的区别 TADOQu ...
- 初识Python-Python介绍
Python介绍 在了解了计算机以及操作系统的发展历程之后,又接触到了一门新的语音——Python,迈出了学习编程的第一步. 一.Python简介: Python(英国发音:/ˈpaɪθən/ 美国发 ...
- android基础知识进阶
1.android Activity的生命周期 http://blog.csdn.net/hpoi/article/details/4629065 2.android Service的生命周期 htt ...
- 在C#中实现Json的序列化与反序列化
第一种方式利用 JavaScriptSerializer [对应的Assembly 为 System.Web.Extensions.dll] 进行处理: public static class Kas ...
- mysql乐观锁总结和实践
乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突 ...
- 使用git grep进行git搜索
1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo 显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...
- ASP.NET 给作为隐藏域的TextBox赋值之后提交表单,无响应?
操作步骤: 给页面隐藏TextBox赋值,然后触发ASP.NET change事件,调用ASP.NET后台方法,调用后执行客户端脚本this.RegisterClientScriptBlock(Dat ...
- lua
lua的语言特性: 1. lua 的table可以实现多种数据结构:数组.记录.线性表.队列.集合等: 2. lua的closure闭合函数 3. lua的迭代器和泛型的for 4. lua的协同程序 ...
- WebApi防重复提交方案
使用Redis锁机制. 偽代碼: void post { var key = GetKey(); var value = Redis.Incre(key); if(value == 1) { var ...
- 弄清 CSS3 的 transition 和 animation
弄清 CSS3 的 transition 和 animation transition transition 属性是 transition-property, transition-duration, ...