【发布时间】:2012-09-26 13:30:56
【问题描述】:
您好,我想使用 Roslyn 在我的应用程序中编写脚本。但我有新的(九月)版本,我很困惑。我想用一些简单的功能执行文件。 例如:
public int m(){
return 6;
}
我发现了一些关于它的文章,例如acticle。有一些方法可以做到,但在我的版本中不是Session.Create()
我想像 IronPython 脚本一样使用它
类似:
var scriptEngine = new SciptEngine.ExecuteFile(fileWithFunction);
dynamic d = getFunction(m);
或
动态d = callFunction(m);
有可能还是我必须使用 IronPython 脚本?
【问题讨论】:
-
我对 Roslyn 一无所知,但你可以在没有它的情况下使用 c# 作为脚本引擎。您可以使用命名空间 Microsoft.Csharp 中的类 CSharpCodeProvider 在运行时编译程序集并调用方法或从该程序集创建对象。例如,请参见此处的示例:crowsprogramming.com/archives/99
-
感谢您的快速回答。但是:我想在我的 Mogre 游戏中使用它,我的主管告诉我尝试使用 Roslyn,因为它是用 c# 编写的 c# 编译器,所以它可以更快。我不知道是不是真的,但是如果有人知道怎么做,我可以测试一下。