MonoDroid和MonoTouch中的可移植类库程序集引用问题

时间:2013-03-01 08:05:50

标签: xamarin.ios xamarin.android portable-class-library

我的项目有问题,我的PCL用于.Net 4.5,Windows Phone 8,WinRT,MonoTouch和MonoDroid,当我尝试构建MonoDroid或MonoTouch项目时,参考了PCL错误如下:

  

*错误1类型'System.Object'在未引用的程序集中定义。您必须添加对程序集'System.Runtime的引用,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。

     

错误2类型'System.Enum'是在没有的程序集中定义的   引用。您必须添加对程序集'System.Runtime的引用,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。

我已完成suggested命令(sn -Vr *,b03f5f7f11d50a3a),但它没有帮助。我使用以下个人资料:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78

2 个答案:

答案 0 :(得分:3)

如果将兼容性设置为从.NET 4.5到.NET 4.0.3,它将起作用。

答案 1 :(得分:1)

当我在配置文件104中遇到类似的错误时,我已经构建了类似System.Windows.dll和System.Net.dll的虚假系统程序集,它们会转发有问题的类。我推迟签署这些假装配 - 幸运的是,MonoDroid和MonoTouch似乎没有仔细检查这些延迟签名。

这些例子位于:https://github.com/slodge/MvvmCross/tree/v3/PortableSupport

我猜你可以使用与MonoDroid和MonoTouch链接的2个System.Runtime程序集以及类型转发System.Object和System.Enum来做同样的事情。

希望Xamarin的PCL支持很快就会发布 - 并将包括这些垫片组件的正式版本。