gpt4 book ai didi

c# - 在 Mono 中开发跨平台吗?

转载 作者:IT王子 更新时间:2023-10-29 00:22:30 28 4
gpt4 key购买 nike

mono 跨平台开发的程度如何?如何为 Windows(在 Linux 中)编译,如何在 Linux 中运行(因为没有 .NET JIT 编译器)?

那么用Mono开发有什么特殊性呢?与使用 Visual Studio 进行开发相比有哪些优势(跨平台的东西除外)?

最佳答案

在 Mono 中开发绝对是跨平台的,有一个caveat emptor:

  • 努力避开特定于 Windows 的 API
  • 与 native Windows API 没有互操作性...或者...您可以#ifdef 退出 Windows API 并提供您自己的 Mono 包装器以尽量减少代码更改,例如,有一个使用 Interop 调用 Win32 方法(如“GetFont”)的 DLL 包装器,这是一个假设的示例,GetFont 将返回字体信息,在 Mono 下,该信息不存在,但是您可以创建一个不返回任何内容的假包装器并合并#ifdef 宏在 Mono 下编译时使用包装器,而在 Windows 下编译时关闭宏,如何实现包装器由您决定。
  • 不要使用 Mono 中可能不存在的高级 GUI 属性。
  • 使用 NewLine 等环境属性使其独立于 Unix 的 CR 和 Win32 的 CRLF,同样适用于路径分隔符、Unix '/' 和 Win32 '\'。
  • Mono 下的序列化略有不同,您在 Mono 上序列化一个对象,不要自欺欺人地认为它会在 Win32 下反序列化,反之亦然。

最后但同样重要的是,不断检查从 Mono 到 Win32 并再次返回,继续测试和测试它。

关于c# - 在 Mono 中开发跨平台吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3429451/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com