2

问候,

最近我在开发跨平台项目时遇到了一个问题。在这个项目中,我必须支持 android、ios 和 wp7,我所做的就是为这 3 个平台创建了 3 个项目,我还有一个可以在 3 个目标平台之间共享的项目。

所以我将此项目创建为“便携式库”,并在其他项目中添加对该项目的引用。它有效,我可以在其他 3 个项目中使用此共享项目中定义的类,但问题是,在可移植库项目中,“References”文件夹、“System”、“System.Core”和“System.Xml” ”是红色的,当我展开它时,它会显示“.NETPortable 4.0 Profile1 Profile (in Mono 2.10.9) 的程序集不可用”。我用谷歌搜索了这条信息,但没有一个给我满意的答案。

http://monotouch.2284126.n4.nabble.com/cross-platform-library-code-td4656600.html

那么,如何解决呢?这些“System”、“System.Xml”、“System.Core”是干什么用的?它们是文件吗?还是在一个文件中?

4

1 回答 1

2

您现在可以忽略红色的引用。这只是表明您的系统上没有 PCL 程序集(除非您在 Windows 上,否则您不会拥有),但是 Xamarin 正在努力生成 PCL 程序集并希望“尽快”拥有它们(到 5 月?) .

与此同时,这“没问题”,因为当您在 Mac OS X w/MonoDevelop 上针对 Mono 或 MonoTouch 时,MonoDevelop 所做的是与 Mono for Android 或 MonoTouch 框架链接,这足以满足您的需求做。

需要考虑的事项:

  1. 您将无法与您的 WP7 应用程序共享程序集(因为由 MonoDevelop 构建的程序集不是真正的 PCL 程序集),但您将能够共享 Portable Library项目- 即确保执行为每个平台重新构建项目。(您可以在 MonoTouch 和 Mono for Android 之间共享,但不能与 WP7 共享)

  2. 由于引用的程序集是红色的,正如您所注意到的,这意味着 MonoDevelop 将无法进行正确的代码完成。如果您是 Windows 用户,您可以在 Visual Studio 中开发便携式库,然后将其与您的 iOS 和 Android 项目共享。一旦 Mono 拥有真正的 PCL 程序集,这个问题就会消失。

  3. MonoDevelop 和 Xamarin Studio 的当前公开版本中存在一些不喜欢某些配置文件的错误。以下两个自定义版本都解决了这个问题,具体取决于您想要 MonoDevelop 还是更性感的 Xamarin Studio:

https://files.xamarin.com/~jeff/MonoDevelop-3.1.1.dmg

https://files.xamarin.com/~jeff/XamarinStudio-4.0.2442.dmg

请记住,这些自定义构建都没有经过 QA。XamarinStudio 链接昨晚刚刚发送给 QA 团队(新闻热!)将成为 Xamarin Studio 4.0.2(一旦 QA 在该版本中出现的任何回归/严重错误都已得到修复)。

于 2013-03-02T15:19:29.210 回答