C#.net / mono跨平台差异?

时间:2021-08-27 12:21:44

I've been searching for a while now trying to find an answer for this, basically if I create a visual studio app using .net c# and I want to port it to mac / linux,

我一直在寻找一段时间试图找到答案,基本上如果我使用.net c#创建一个visual studio应用程序,我想将它移植到mac / linux,

  1. Will there be and code I'll have to move around/change when switching to mono?

    当切换到单声道时,是否会有和代码一起移动/改变?

  2. What things should I avoid doing while developing to make it easier to port later?

    在开发过程中我应该避免做哪些事情以便以后更容易移植?

  3. Is system.windows.forms usable in mono? Should I just use GTK#? Does it matter?

    system.windows.forms可以单声道使用吗?我应该只使用GTK#?有关系吗?

1 个解决方案

#1


  1. Not too much. but if your using any p invoke or library that do. they can't be used in mono. unless you rewrite/find a mono compatable one.
  2. 不是太多。但如果您使用任何p调用或库。它们不能用于单声道。除非你重写/找到单声道兼容的。

  3. Stay away from propriety software's and APIs. Directx does not work. but there are ports for SDL/Opengl. Only pinvoke tools that exist on all platforms. and dont make mixed mode assembly's.
  4. 远离专有软件和API。 Directx不起作用。但是有SDL / Opengl的端口。只有pinvoke工具存在于所有平台上。并且不要制作混合模式组件。

  5. It is. but it does not look good on Linux/Mac. because well it looks like windows.
  6. 它是。但它在Linux / Mac上看起来并不好看。因为它看起来像窗户。

#1


  1. Not too much. but if your using any p invoke or library that do. they can't be used in mono. unless you rewrite/find a mono compatable one.
  2. 不是太多。但如果您使用任何p调用或库。它们不能用于单声道。除非你重写/找到单声道兼容的。

  3. Stay away from propriety software's and APIs. Directx does not work. but there are ports for SDL/Opengl. Only pinvoke tools that exist on all platforms. and dont make mixed mode assembly's.
  4. 远离专有软件和API。 Directx不起作用。但是有SDL / Opengl的端口。只有pinvoke工具存在于所有平台上。并且不要制作混合模式组件。

  5. It is. but it does not look good on Linux/Mac. because well it looks like windows.
  6. 它是。但它在Linux / Mac上看起来并不好看。因为它看起来像窗户。