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

如何确定当前Mono运行时的构建和安装版本?,mono,version,Mono,Version,我想确定当前Mono运行时的构建和安装版本(如何在Git中正确调用它?) $ dmcs --version Mono C# compiler version 2.9.0.0 但这绝对不够 XSP/ASP.NET错误页提供了更多信息: 版本信息:Mono运行时版本:2.8.1(master/cdf1247 Sat Sep 4 01:22:04 MSD 2010);ASP.NET版本:4.0.30319.1 但对我来说,这似乎是一个肮脏的恶作剧 如何正确操作?如果您正在寻找mono运行时版本;ms

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

$ dmcs --version
Mono C# compiler version 2.9.0.0
但这绝对不够

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

版本信息:Mono运行时版本:2.8.1(master/cdf1247 Sat Sep 4 01:22:04 MSD 2010);ASP.NET版本:4.0.30319.1

但对我来说,这似乎是一个肮脏的恶作剧


如何正确操作?

如果您正在寻找mono运行时版本;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)


希望这对您有所帮助,敬请谅解

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

非常感谢!但是我怎么能得到这样的信息呢?
(master/cdf1247 Sat Sep 4 01:22:04 MSD 2010)
?如果你的mono是通过git签出构建的,那么从tarball构建的,你只会得到这个版本。对于加分,有人知道如何确定Unity游戏引擎包含哪个版本的mono吗?在Unity 4.1.5中,这里展示的技术为我提供了“版本2.0”,尽管我有理由相信它是版本2.8.2。