簡體   English   中英

跨平台C#-System.io和其他怪癖

[英]Cross-platform C# - System.io and other quirks

我正在用C#編寫跨平台代碼。 該代碼將涉及IO,所以我很好地使用了System.io命名空間。

但是,我想知道它是否可以在Linux或C#支持的任何其他操作系統上運行?

除目錄地址外,諸如System.IO.Directory.CreateDirectory()之類的命令是否還需要注意其他區別?

另外,當我計划跨平台兼容性時,在C#編碼中應該注意哪些其他方面? (GUI等?)

我正在考慮將QT用於GUI,它已經針對C#進行了優化嗎?

謝謝!

主要區別在於,您需要使用Path.Combine構建路徑,而不是假設路徑之間用反斜杠(或反斜杠,如果您來自Nix)分隔。 所有的System.Io庫在Mono中都可以很好地工作。

至於用戶界面,請使用GTK#-Qt不適用於.NET(有庫,但是GTK#更加完善了)

編寫完成后,通過MOMA運行所有內容。 它將為您識別與平台無關或未在Mono運行時中實現的任何構造。

此外,還可以使用MSBuild和mono .net編譯器進行編譯。

使用Path.Combine和Environment.NewLine是我的頭等功。

避免只使用沒有linux / unix類似物的Windows構造(WMI等)。

但是,我想知道它是否可以在Linux或C#支持的任何其他操作系統上運行?

Microsoft的.NET特定於Windows。

如果要在.NET中生成跨平台的內容,請查看Mono文檔以獲取指導。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM