繁体   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