CSI 是个简单的 C#解释器,可以通过命令行编译独立的 C#文件。最近 CSI 发布了新版本,开始支持.NET 4.0。
CSI 接受一个输入文件并即时对源代码进行编译,最后执行生成的程序集。这样,我们就可以通过简单、自说明的批处理文件进行编译并执行了,从而无需使用项目文件,也不必考虑生成的二进制文件,最终保证了代码的同步变化。
如下是个简单的示例批处理文件 Hello.cs :
public class Hello { public static void Main() { System.Console.WriteLine("Hello World"); } }
使用方式如下所示:
C:\>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 。
评论