【问题标题】:Create assembly compatible with desktop, wp7 and monotouch创建与桌面、wp7 和 monotouch 兼容的程序集
【发布时间】:2011-02-28 00:07:56
【问题描述】:

因此,我试图弄清楚如何创建一个具有核心功能的程序集,该程序集可用于 Windows Phone 7、桌面和支持 Monotouch 的设备。如何在 MonoDevelop 中进行设置?

如果我以通常的方式创建程序集,我无法将其添加为我的 monotouch 项目的引用,但我可以将 monotouch-assembly 添加到桌面甚至 wp7 设备吗?

作为一个附带问题。有没有人尝试过跨平台开发,一个人坐在visual studio,另一个人坐在monodevelop?这是怎么回事?谢谢!

【问题讨论】:

    标签: xamarin.ios


    【解决方案1】:

    我的解决方案是使用共享代码创建一个常规的 c# 类库项目。然后创建一个 monotouch 类库并添加指向原始类库中代码的链接。对 monodroid 项目也是如此。

    这种方式更新一个项目中的 .cs 文件将更新其他项目。

    【讨论】:

      【解决方案2】:

      你不能将源代码直接编译成一个程序集,你可以在不同平台的项目中链接它。

      尤其是在 Monotouch 和 Monodroid 中,这是因为它使用 AOT(提前)编译器来创建二进制输出。

      因此,所有 SDK 都链接在“程序集”中,该“程序集”实际上是针对特定平台量身定制的。

      因此,要做到这一点,您需要将项目作为源代码共享,如果您遵循一些规则(例如,即使在 Windows 上也使用 Mono,只是为了确保),该项目在平台上运行良好。

      【讨论】:

      • 当然可以,但是如何在 MonoDevelop 中执行此操作?这里没有“源代码”项目。我想要的只是能够链接到包含核心功能的项目,并且 Monotouch 或 Monodroid 或其他任何东西,在构建支持单点触控的项目时编译它。
      • 像往常一样,使用编辑参考 - 打开项目,展开它,右键单击项目部分参考,然后从菜单中选择编辑参考...,在对话框中选择适当的参考,它是解决方案中的其他项目或外部 .NET 程序集或核心程序集 - 包。如果选择 .NET 程序集,则必须编译到您正在构建的项目中,如果是 Monotouch 项目,则只能添加 Monotouch 引用。
      • 不幸的是,MonoDevelop 不允许我为单点触控项目添加非单点触控引用...所以如果我想要为我的所有 UI 使用“核心”程序集,我需要创建一个单独的库每个项目都有相同的代码?这就是我要避免的:S
      • 这就是我试图解释的,你不能那样做。只有一种项目类型和一种部署。不能将 Monodroid 与 Monotouch 混合使用,反之亦然......
      • 伙计,这很不方便。嗯,谢谢你的回答先生:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      相关资源
      最近更新 更多