2011-02-28 45 views
3

所以我试图找出如何创建具有能够随着Windows Phone 7,MonoTouch的启用 - 桌面 - 和设备使用核心功能组件。我如何在MonoDevelop中设置它?创建桌面,WP7组装兼容机和MonoTouch的

如果我创建装配通常的方式,我不能将其添加为我的MonoTouch项目的引用,但我可以在MonoTouch的组件添加到桌面上,甚至WP7设备?

作为一个侧面的问题。有没有人试过跨平台开发,一个人坐在视觉工作室,另一个人坐在monodevelop上?这是如何解决的?谢谢!

回答

1

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

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

+0

我一直这样做,工作正常。 – tempy 2011-07-10 12:16:24

1

你不能直接编译源代码,你可以在项目中为不同的平台只是链接汇编。

例如在MonoTouch的和MonoDroid的尤其,这是因为它使用AOT(超前时间)编译器创建的二进制输出。

因此,所有的SDK是“集结号”这实际上是一个特定的并且对特定平台量身定制的内联。

因此,要做到这一点,你需要共享的项目作为源代码,如果你遵循一些规则,跨平台运作良好,(如使用单声道甚至在Windows上,只是要确定)。

+0

当然,但我该如何在MonoDevelop中做到这一点?这里没有“源代码”项目。我想要的只是能够链接到一个包含核心功能的项目,并且Monotouch或Monodroid或其他任何项目在编译支持monotouch的项目时编译。 – 2011-02-28 17:32:28

+0

像往常一样,使用编辑引用 - 打开项目,展开它,右键单击项目部分引用,然后从菜单中选择编辑引用...,在对话框中选择适当的引用,无论它是解决方案中的其他项目或外部.NET程序集或核心程序集 - 程序包。 如果您选择.NET程序集,它必须编译为您正在构建的项目,如果Monotouch项目,则只能添加Monotouch引用。 – 2011-03-01 01:10:45

+0

不幸的是,MonoDevelop不会让我添加一个非单点触摸引用到monodouch项目...所以,如果我想为我的所有用户界面的“核心”程序集,我需要为每个具有相同的代码创建一个单独的库项目?这就是我想要避免的:S – 2011-03-01 02:07:09