用C#编写跨平台应用程序时有哪些好的经验规则?

6

我还没有需要使用C#编写跨平台应用程序。但是,每次我需要处理路径等问题时,我总是想知道如果我需要交叉编译到Mono,我应该做什么来使我的生活更轻松。

我知道GUI可能会成为一个问题。如果可能的话,我希望在我的正常Windows编码中采用良好的跨平台实践。

有任何需要注意的ADO问题吗?

人们遇到了什么问题,如何解决?

3个回答

4

编写代码后,务必通过MOMA检测,它可以识别不具有平台独立性或未在Mono运行时中实现的语句。

此外,请使用MSBuild和mono .net编译器进行编译。

我能想到的一些示例包括Path.Combine和Environment.NewLine等。

避免使用仅适用于Windows的构造(例如WMI),因为它们在Linux / Unix系统下没有相应的功能。


很好的提示。我都使用这两个方法。不过Path.Combine是最近几个月才开始用的。你如何以跨平台的方式测试无效路径字符? - Nanook
1
Path.GetInvalidPathChars - http://msdn.microsoft.com/zh-cn/library/system.io.path.getinvalidpathchars.aspx - Oded

1

1

如果您使用Gtk#在Windows环境下创建应用程序,则应该可以在所有平台上运行,因为它不会使用任何在Mono下不可用的.NET库,也不会使用任何在Windows不支持的Mono/Gtk#库。

如果您是Visual Studio用户,请查看Mono Tools for VS软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接