2010-01-24 68 views
0

我正在用C#編寫跨平臺代碼。代碼將涉及IO,所以我正在使用System.io命名空間。跨平臺C# - System.io和其他怪癖

但是,我想知道它是否適用於Linux或C#支持的任何其他操作系統?

像System.IO.Directory.CreateDirectory(),目錄地址以外的命令是否還有其他差異我需要注意?

此外,編碼C#的其他部分應該注意什麼時候我計劃跨平臺兼容性? (GUI等?)

我正在考慮使用QT的GUI,是否爲C#而精煉?

謝謝!

+0

是的,我使用Mono作爲編譯器。 – nubela 2010-01-24 20:49:15

回答

4

的主要區別是,你需要使用Path.Combine,而不是假設路徑之間用反斜槓分開,以建立自己的路徑(或者如果你來自尼克斯,則爲正斜槓)。所有System.Io庫在Mono中都非常棒。

至於UI,使用GTK# - Qt不真正爲.NET工作(有圖書館,但GTK#的方法更多成品)

0

但是,我想知道它是否適用於Linux或C#支持的任何其他操作系統?

微軟的.NET的東西是Windows特有的。

如果您想在.NET中生成跨平臺的東西,您希望查看Mono文檔以獲取指導。

+0

特別是,檢查可移植性準則:http://www.mono-project.com/Guidelines:Application_Portability – 2010-01-24 20:52:46

0

我認爲應該使用Mono Project在基於Unix的操作系統(Mac和Linux)

2

通過MOMA運行一切你寫它了。它將爲您標識任何不是平臺獨立的或在Mono運行時中未實現的構造。

另外使用MSBuild和mono .net編譯器進行編譯。

使用Path.Combine和Environment.NewLine是一對夫婦關閉我的頭頂。

避免只有窗口構造(WMI等)沒有linux/unix模擬。