在Mono中进行开发绝对是跨平台的,有一个 警告请求者 :
- 努力避免使用Windows特定的API
- 与本机Windows API没有互操作性…或者…您可以
#ifdef
退出Windows API并提供自己的Mono包装器,以最大程度地减少代码更改,例如,有一个使用Interop调用Win32方法的DLL包装器,例如’GetFont’,这是一个假设的示例,GetFont将返回Mono下的Font信息,但该信息不存在,但是您可以创建一个伪造的包装器,该包装器不返回任何内容,并合并#ifdef
宏以在Mono下编译时使用该包装器,并进行切换在Windows下编译宏时,如何实现包装取决于您自己。 - 不要使用Mono中可能没有的高级GUI属性。
- 使用环境属性,例如
newline
使其独立于Unix的CR和Win32的CRLF,同样适用于Path Separator,Unix’/’和Win32’'。 - 在Mono下,序列化略有不同,您在Mono上序列化了一个对象,不要自欺欺人地认为它将在Win32下反序列化,反之亦然。
最后但并非最不重要的一点,请继续从Mono检查到Win32,然后再次返回,继续进行测试。



