【问题标题】:Use Mono for android on with Mono在 Mono 上使用 Mono for android
【发布时间】:2012-08-27 15:15:20
【问题描述】:

将 MonoDevelop 的编译器切换到 Mono 工具而不是 .NET 看起来真的很容易——您只需要在 IDE 的设置下选择不同的框架。

但是,在切换到 Mono 并通过 Mono 工具编译项目后,Mono for android 似乎不再是可用的框架(即 Android 项目中对它的引用变为红色)。显然,构建失败并出现大量错误,例如 Android.XXX.YYY 不是类或命名空间名称等。

有没有办法在 Windows 机器上安装 Mono for android 以便 Mono 工具可以使用它并且可以从 Monodevelop 在 Mono 上运行?

【问题讨论】:

    标签: windows mono xamarin.android monodevelop xamarin


    【解决方案1】:

    没有。 Mono for Android 使用 MSBuild 构建系统,并将自定义构建任务和框架安装到 MSBuild 扩展目录中。 Mono 的 MSBuild (xbuild) 实现具有单独的扩展目录。可能可以复制目标和扩展,但您可能会遇到其他问题,因为它完全未经测试。

    一般来说,在 Windows 上,我建议在 MonoDevelop 中使用 MS/.NET 工具链,除非您有充分的理由使用 Mono 工具链。请注意,即使您使用 .NET 编译,也可以使用 Monorun,使用 Run->Run with... 菜单。

    【讨论】:

    • 嗯,原因很简单:我想在 MonoTouch 和 Mono for android 之间共享代码,而 PCL 功能使用起来并不方便。在 Monodevelop Mac 上,PCL 项目是使用 monotouch 编译器编译的(您帮助了解了如何做到这一点:),但在 Windows 上,它们是作为真正的 PCL 构建的,这极大地限制了通用代码可用的功能。 AFAIK 有没有像 MonoDevelop 中的依赖项目可能与 Mac 上的 PCL 一样的工作方式?
    • 不,没有项目链接器,但您可以在项目之间手动共享文件。事实上,MD 使用“从文件夹添加文件”命令让这一切变得非常简单。
    • 另外,您可以使用 Mono for Android 项目,并将其作为来自 MonoTouch 项目的 dll(而不是项目引用)引用。虽然这很 hacky,但只要您只引用 BCL 程序集并使用 MonoTouch 中也存在的类,它应该可以正常工作。
    • 是的,但是每次将新文件添加到文件夹时,都无法重新添加所有内容...
    • 并且引用 DLL 不会使其按需重建,需要手动重建公共程序集:(
    猜你喜欢
    • 2012-10-31
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多