CSI是个简单的C#解释器,可以通过命令行编译独立的C#文件。最近CSI发布了新版本,开始支持.NET 4.0。
\CSI接受一个输入文件并即时对源代码进行编译,最后执行生成的程序集。这样,我们就可以通过简单、自说明的批处理文件进行编译并执行了,从而无需使用项目文件,也不必考虑生成的二进制文件,最终保证了代码的同步变化。
\如下是个简单的示例批处理文件Hello.cs :
\\public class Hello\{\\tpublic static void Main()\\t{\\t\tSystem.Console.WriteLine(\"Hello World\");\\t}\}\\
使用方式如下所示:
\\C:\\\u0026gt;CSI Hello.cs\Hello World\\
在Windows环境下有多种方式可以编写脚本以及批处理文件,这其中就包括PowerShell,PowerShell还可以使用.NET框架。但由于CSI的开源本性,它提供了更多的客户化行为,也能在第一时间支持新的.NET与C#特性。
\CSI 4.0的目标是.NET 4.0,它需要使用.NET 4 Beta 2 Framework。凭借该版本,脚本编写者可以利用新的动态类型、基于推模式的IObservable接口、Tuple类以及C# 4.0中的众多新特性。
\CSI还具有一个命令脚本用于在Windows中注册.CSI文件类型以执行C#批处理文件,从而无需单独开启命令行窗口。凭借CSI,批处理文件的执行变得非常直观,同时还可以在一个命令中执行多个文件并指定其引用关系。但是CSI并非交互式shell,它不是REPL。
\对于真正的交互式C# shell(就像Ruby的IRB)来说,还有其他项目提供了REPL编译器服务,包括Mono项目CsharpRepl。
\