使用DLR加载和执行C#代码片段是否可能?

8

我发现大部分关于DLR的资料都与IronPython有关。您能否使用DLR解析和执行C#?如果可以,是否存在开销会阻止您在约30个用户的Web服务器上尝试此操作?

更具体地说,当用户首次启动工作流程时,我想编写脚本来配置我的工作流对象。根据全年变化的条件,工作流可能从不同的步骤开始,因此运行配置脚本似乎是处理变化的好方法。

3个回答

4
看起来你在谈论的是C#“编译器作为服务”(在这个视频的结尾),希望它能在.NET的5.0时间表中实现(虽然Mono已经实现了)。目前,CSharpCodeProvider是我们拥有的最好的选择(它的工作方式与“csc”类似)。

谢谢 - 今天阅读了你的博客。很棒。基本上我在考虑是选择CSScript.net还是追求CSharpCodeProvider的方式。 - David Robbins
Marc,你能推荐一些好的示例代码吗?除了MSDN链接以外。再次感谢。 - David Robbins
哪个编译器是作为服务提供的?这有点困难,因为它并不存在,而且大概还需要一年左右才会出现(猜测)。或者我误解了问题……? - Marc Gravell
2
我不知道具体的 - 但是在我看来,MSDN的例子展示了很多相关内容。主要技巧是记得包括C# 3.0: var compiler = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } }); - Marc Gravell

0

你可能会觉得这个相关...虽然它不是在DLR本身上运行。

Mono编译器作为服务(MCS)

它的优点是可以运行片段,而不像CodeDom那样在每次编译时加载新的程序集。


0

虽然Marc为我提供了一种替代方案,但我阅读了这个相关的SO问题,目前还不支持C#和VB。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接