如何确定构建和安装当前Mono运行时的修订版本?

时间:2010-11-14 15:26:07

标签: mono version

我想确定构建和安装当前Mono运行时的修订版(如何在Git中正确调用它?)。

$ dmcs --version
Mono C# compiler version 2.9.0.0

但这绝对不够。

XSP / ASP.NET错误页面提供了更多信息:

  

版本信息:Mono Runtime版本:2.8.1(master / cdf1247星期六9月4日01:22:04 MSD 2010); ASP.NET版本:4.0.30319.1

但对我来说这似乎是一个肮脏的黑客。

如何正确地做到这一点?

2 个答案:

答案 0 :(得分:17)

如果您正在寻找单声道运行时版本; mscorlib中有一个内部的Mono.Runtime类,它有一个静态方法GetDisplayName,它应该返回一个当前运行时版本的字符串。此方法是私有的,但仍可通过反射访问。我写了一个小脚本来测试这个,检查一下是否适合你:

Type type = Type.GetType("Mono.Runtime");
if (type != null)
{                                          
    MethodInfo dispalayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static); 
    if (dispalayName != null)                   
        Console.WriteLine(dispalayName.Invoke(null, null)); 
}

在我的系统上返回:

  

2.6.7(Debian 2.6.7-3ubuntu1~dhx1)

希望这有帮助,尊重

答案 1 :(得分:5)

mono -V将输出版本字符串,包括源代码修订版。