【问题标题】:Setting up cross platform development for Mono/ARM为 Mono/ARM 设置跨平台开发
【发布时间】:2016-03-18 01:24:30
【问题描述】:

我将使用 Visual Studio 在 Windows 7 上开发和编译 C#/Mono 应用程序,然后在 Linux 设备上运行此应用程序。我用谷歌搜索了很多,但有一点仍然让我感到困惑——我应该如何设置我的开发环境。我的笔记本电脑上安装了 Mono for Windows,现在有两种可能性:

  1. 创建常规的 windows c#/net 项目,该项目将使用来自 Windows\MS.NET 框架的引用,使用 msbuild 构建此项目,复制并在 Linux 上运行此应用程序
  2. 为 VS 创建 Mono 目标,创建将使用来自 ProgFiles(x86)\Mono\lib 的引用的项目,使用 xbuild 等构建此项目。

我应该选择哪种方式?在我看来,选项 #2 更可取,但我不明白为什么。

【问题讨论】:

    标签: mono


    【解决方案1】:

    您的解决方案都不是很好。我会选择第三个:

    1. 使用 MonoDevelop IDE 在 Linux 上开发您的代码。

    此选项最佳的原因有很多,例如:

    1. 用于 Windows 的 Mono 不是最理想的:您会发现有些东西不工作(在 Linux 上工作)或速度比正常慢得多。
    2. Mono 不是 100% 与 MS.NET 兼容:Mono 中不支持某些内容(例如 System.Management)或存在太多无法被视为稳定的错误(例如 WCF)。因此,最好尽快在 Mono 上进行测试,即在本地开发和调试时。
    3. MonoDevelop 仍然是一个非常优秀的 IDE,在某些领域可以与 VS 竞争(例如Code Completion)。

    【讨论】:

    • 感谢您的评论,但我忘了说我的目标 Linux 设备具有 ARM 架构,所以即使我使用 Linux/MonoDevelop 开发代码,它仍然是跨平台开发。
    • 我的建议在这种情况下仍然有效,因为 1) 几乎所有在 x86/x64 Mono 中工作的东西都可以在 ARM 中工作; 2) MonoDevelop 支持远程调试:ebsteblog.wordpress.com/2013/12/04/…
    【解决方案2】:

    好吧,我在 Linux/ARM 上使用自己的 mono,我在 Visual Studio 下进行所有开发,只是为 AnyCPU 编译并注意使用什么。

    您甚至可以使用 MonoDebugger 从 Visual Studio 在目标机器上调试您的程序,它开始正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多