2012-09-13 62 views
1

我已經下載並將Mono框架安裝到我的Win7開發機器上。然後,我按照指示here讓Visual Studio 2010允許定位Mono框架而不是.NET。然後我創建使用VB,在該項目的高級編譯選項目標framwework集「單聲道2.10.8簡介」這個測試控制檯應用程序:爲什麼我無法在Windows上的VS2010中使用Mono?

Dim runningOnMono As Boolean = Not IsNothing(Type.GetType("Mono.Runtime")) 
Console.WriteLine("Running on Mono = " & runningOnMono.ToString) 

當我Win7的開發機上運行該函數返回False,即不運行在單聲道。當我在只安裝了Mono的Linux機器上運行該程序時,它將返回True。

我可以引用單框架的部分在VS和智能的作品,但是當我做這樣的判斷:

Dim monoinf As New Mono.Unix.UnixDriveInfo("g:") 

我得到這個異常:

========= ==========================

FileNotFoundException未處理:無法加載文件或程序集'Mono.Posix,Version = 4.0.0.0 ,Culture = neutral,PublicKeyToken = 0738eb9f132ed756'或它的一個依賴項。該系統找不到指定的文件。

===================================

Mono.Posix.dll 4.0版.0.0 確實存在於許多目錄中,包括專門爲VS Mono配置文件創建的目錄。我甚至試圖將其複製到測試應用程序的目錄中。

難道只是我在Win7盒子上的單聲道安裝亂七八糟嗎?智能感知如何工作,但對Type.GetType(「Mono.Runtime」)的調用返回Nothing?

我試圖針對Mono的問題是因爲System.IO.DriveInfo類不能在Mono上工作,所以我認爲如果我想在Windows和Linux上運行,則必須使用Mono.Unix.UnixDriveInfo。我需要獲得USB閃存驅動器的可用空間。

感謝您的任何幫助。

回答

1

您已經針對單按照博客文章,但你應該使用mono.exe在單命令提示符啓動您的可執行文件(test.exe的爲例),

mono.exe test.exe

這是唯一的辦法在Windows上加載Mono運行時而不是.NET Framework。

+0

當然!那是一個燈泡的時刻。謝謝你,先生。 – Guy

相關問題