将C#源代码作为脚本运行?

时间:2010-05-28 05:46:25

标签: c# .net scripting

我正在做一些脚本编写,我发现有时候更多的功能会很好。就像能够继续尝试删除1秒延迟的文件并让它可移植一样。今天我花了一些时间将蝙蝠脚本翻译成bash。我知道我可以使用php或python,但我非常喜欢静态/编译时检查。

有没有办法将C#代码作为脚本运行?只要我能快速编辑源代码(比如在记事本中)并运行它,我就会很开心。

我希望我不必创建自定义ext并编写应用程序来动态编译和执行脚本(我知道有源代码可以在某处编译.js)。有谁知道解决方案?

5 个答案:

答案 0 :(得分:6)

> copy con cs.bat
csc -o OUTPUT.exe %1
OUTPUT.exe
del OUTPUT.exe
^Z
> cs somefile.cs

以下是批处理文件的更好版本:

@echo off
echo using System; class P { static void Main() { > foo.cs
type %1 >> foo.cs
echo }} >> foo.cs
csc /nologo /out:foo.exe foo.cs
del foo.cs
foo.exe
del foo.exe

所以你有一个名为foo.txt的文件:

Console.WriteLine("Hello world");

像以下一样调用它:

cs.bat foo.txt

答案 1 :(得分:5)

那就是CS-Script。 http://csscript.net/

尽管我自己并没有使用它。

答案 2 :(得分:3)

Mono有CsharpRepl,这是C#

的交互式shell

答案 3 :(得分:2)

每当我需要执行一个小代码段来执行C#中的某些操作时,我只需启动LinqPad

对于简单的小脚本来说,它可能包含了很多内容,但它每次都会创建一个新的控制台项目。

答案 4 :(得分:1)

由单项目开发人员名称CsharpRepl开发了一个shell。我从未尝试过,但似乎非常有趣。