我对Mono比较陌生,我正在尝试为我的应用程序添加C#脚本功能.我在Miguel de Icaza 发现了这篇博文.将C#编译器作为服务调用的方法是包含Mono.CSharp并使用Evaluator类,特别是Evaluate或Run方法.这在此处记录.
所以这是我的示例代码(来自互联网上关于这个主题的其他博客文章,是的,我已经完成了我的谷歌搜索)
using System;
using Mono.CSharp;
namespace EvalTest
{
public class Test
{
static void Main(string [] args)
{
Mono.CSharp.Evaluator.Evaluate("using System;");
Mono.CSharp.Evaluator.Run("using System;");
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我们尝试编译它时,我得到这些错误:
eval.cs(10,19): error CS0234: The type or namespace name `Evaluator' does not exist in the namespace `Mono.CSharp'. Are you missing an assembly reference?
eval.cs(11,19): error CS0234: The type or namespace name `Evaluator' does not exist in the namespace `Mono.CSharp'. Are you missing an assembly reference?
Run Code Online (Sandbox Code Playgroud)
使用所有Mono编译器在Linux和OSX上也会发生同样的事情,我甚至尝试过Silverlight编程器.我搜索了stackoverflow的类似问题,每个人都参考了Miguel的博客文章和一些类似的示例代码.我错过了什么?我需要添加一些编译器标志吗?谢谢你的帮助.