小编典典

是在Mono跨平台上开发吗?

linux

Mono跨平台正在采取什么措施?如何为Windows编译(在Linux中),如何在Linux中运行代码(因为没有.NET JIT编译器)?

那么使用Mono开发的特殊之处是什么?与使用Visual Studio进行开发相比,有什么优势(跨平台的东西除外)?


阅读 333

收藏
2020-06-07

共1个答案

小编典典

在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,然后再次返回,继续进行测试。

2020-06-07