C#而不是IronRuby作为.NET 3.5中的嵌入式"脚本"语言

Bud*_*Joe 4 .net c# ironruby dynamic-language-runtime embedded-language

将C#用作.NET 3.5应用程序的嵌入式内部脚本应用程序的最佳实践是什么?我有一个带有几个小IronRuby脚本的应用程序.其中没有一个真正利用IronRuby的动态特性.

显然它违反了我们的企业标准,现在正在使用IronRuby或IronPython.Ooopps.我可以使用C#作为脚本语言的最佳方式是什么?

我喜欢IronRuby的一件事是我可以在应用程序运行时进行小的更改,然后重新运行脚本.有什么办法在C#中做到这一点?或者必须不断重启应用程序?

Ori*_*rds 6

目前你不能使用C#作为脚本语言,除非你切换到Mono.

微软已经声明这个(或类似的功能)是C#第5版的路线图,这是未来的发展方向.

但是,您可以通过创建临时"代码文件"作为内存字符串,外部运行C#编译器以生成新的内存中程序集,然后加载并执行该程序集来伪造它.
这将很好地工作一次,但是如果你想在不重新启动的情况下更新它,你必须在新的appdomain中加载内存中的程序集,并且每次都卸载旧的(这会非常棘手).

说实话,我不会打扰.由于它的编译性质和静态类型,C#不能用于非常好的脚本语言