我已經下載並將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閃存驅動器的可用空間。
感謝您的任何幫助。
當然!那是一個燈泡的時刻。謝謝你,先生。 – Guy