2014-02-13 59 views
1

我正在開發一個將在Unix和Windows中使用的類庫。如何確定是否在Mono運行時運行

我遇到了Mono的System.Web.HttpClient添加不需要的標頭(.NET Windows不)的情況。但我發現了一種解決方法,可以用來防止Mono運行時的副作用。

要做到這一點我需要找出如果二進制是在Mono運行時運行,我可以簡單地添加一個if聲明,之後分發我的DLL。

有沒有這樣的標誌/函數來弄清楚?謝謝。

+1

我讀過的地方可以使用Type.GetType(「Mono.Runtime」)來檢查。我不確定這是否是最好的方法! - 我也發現這個鏈接可能有用http://mono.wikia.com/wiki/Detecting_the_execution_platform – GracelessROB

回答

2

您可以使用反射來檢查是否定義了Mono.Runtime類型。就像這樣:

Type.GetType("Mono.Runtime") 

mono project FAQ建議使用此方法,如果您是在單

好運運行檢測!