我正在用C#編寫跨平臺代碼。代碼將涉及IO,所以我正在使用System.io命名空間。跨平臺C# - System.io和其他怪癖
但是,我想知道它是否適用於Linux或C#支持的任何其他操作系統?
像System.IO.Directory.CreateDirectory(),目錄地址以外的命令是否還有其他差異我需要注意?
此外,編碼C#的其他部分應該注意什麼時候我計劃跨平臺兼容性? (GUI等?)
我正在考慮使用QT的GUI,是否爲C#而精煉?
謝謝!
我正在用C#編寫跨平臺代碼。代碼將涉及IO,所以我正在使用System.io命名空間。跨平臺C# - System.io和其他怪癖
但是,我想知道它是否適用於Linux或C#支持的任何其他操作系統?
像System.IO.Directory.CreateDirectory(),目錄地址以外的命令是否還有其他差異我需要注意?
此外,編碼C#的其他部分應該注意什麼時候我計劃跨平臺兼容性? (GUI等?)
我正在考慮使用QT的GUI,是否爲C#而精煉?
謝謝!
的主要區別是,你需要使用Path.Combine,而不是假設路徑之間用反斜槓分開,以建立自己的路徑(或者如果你來自尼克斯,則爲正斜槓)。所有System.Io庫在Mono中都非常棒。
至於UI,使用GTK# - Qt不真正爲.NET工作(有圖書館,但GTK#的方法更多成品)
但是,我想知道它是否適用於Linux或C#支持的任何其他操作系統?
微軟的.NET的東西是Windows特有的。
如果您想在.NET中生成跨平臺的東西,您希望查看Mono文檔以獲取指導。
特別是,檢查可移植性準則:http://www.mono-project.com/Guidelines:Application_Portability – 2010-01-24 20:52:46
我認爲應該使用Mono Project在基於Unix的操作系統(Mac和Linux)
通過MOMA運行一切你寫它了。它將爲您標識任何不是平臺獨立的或在Mono運行時中未實現的構造。
另外使用MSBuild和mono .net編譯器進行編譯。
使用Path.Combine和Environment.NewLine是一對夫婦關閉我的頭頂。
避免只有窗口構造(WMI等)沒有linux/unix模擬。
是的,我使用Mono作爲編譯器。 – nubela 2010-01-24 20:49:15