2010-11-14 61 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

相關問題