Monodevelop“便携式库”项目参考不可用

时间:2013-02-27 04:28:44

标签: c# monodevelop portability

问候,

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

因此,我将此项目创建为“可移植库”,并在其他项目中添加对此项目的引用。它工作正常,我可以在其他3个项目中使用此共享项目中定义的Class,但问题是,在可移植的库项目中,“References”文件夹,“System”,“System.Core”和“System.Xml” “是红色的,当我展开它时,它说”程序集不适用于.NETPortable 4.0 Profile1 Profile(在Mono 2.10.9中)“。我用Google搜索了这条信息,但没有人给我满意的答案。

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

那么,怎么解决呢?什么是这些“系统”,“System.Xml”,“System.Core”?他们是文件吗?还是在文件中?

1 个答案:

答案 0 :(得分:2)

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

与此同时,这是“好的”,因为当你在MonoDevelop的Mac OS X上定位Mono for Android或MonoTouch时,MonoDevelop所做的是与Mono for Android或MonoTouch框架相关联,这对于你想做什么。

需要考虑的事项:

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

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

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

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

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

    请注意,这些自定义版本都未经过质量检查。 XamarinStudio链接昨晚刚刚被送到QA团队(热门新闻!),这将成为Xamarin Studio 4.0.2(一旦QA在该版本中出现的任何回归/关键错误已得到修复)。