2010-11-14 62 views
2

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

$ dmcs --version 
Mono C# compiler version 2.9.0.0 

但它绝对不够。

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

版本信息:单声道运行时版本:2.8.1(主/ cdf1247周六09月04日1时22分04秒MSD 2010); ASP.NET版本:4.0.30319.1

但它似乎是一个肮脏的黑客给我。

如何正确地做到这一点?

+0

对于奖励积分,任何人都知道如何确定哪个版本的Mono包含在Unity游戏引擎中?在Unity 4.1.5中,这里显示的技术给了我“2.0版本”,尽管我有理由相信它是2.8.2版本。 – yoyo 2013-08-16 22:28:39

回答

5

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

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)

希望这会有所帮助,至于

+0

非常感谢!但是我怎么能得到像'(master/cdf1247 Sat Sep 4 01:22:04 MSD 2010)'? – abatishchev 2010-11-15 07:26:33

+0

如果您的单声道是通过git checkout构建的,那么您可以从tarball构建一个版本。 – lupus 2010-11-15 08:22:45

相关问题