Xamarin.ios 可移植类库系统。对象错误
我在OS X上的Xamarin Studio中使用可移植类库(PCL)。我有两个PCL库,分别针对.NET 4.5、Windows Phone 8、Windows应用商店应用程序、Xamarin.iOS和Xamarin.Android。我在iOS、Android和单元测试项目中引用了这两个库。在3个方面,我发现以下错误: 类型“System.Object”是在未引用的程序集中定义的。必须添加对程序集“System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用 代码很简单:Xamarin.ios 可移植类库系统。对象错误,xamarin.ios,xamarin.android,.net-4.5,portable-class-library,xamarin-studio,Xamarin.ios,Xamarin.android,.net 4.5,Portable Class Library,Xamarin Studio,我在OS X上的Xamarin Studio中使用可移植类库(PCL)。我有两个PCL库,分别针对.NET 4.5、Windows Phone 8、Windows应用商店应用程序、Xamarin.iOS和Xamarin.Android。我在iOS、Android和单元测试项目中引用了这两个库。在3个方面,我发现以下错误: 类型“System.Object”是在未引用的程序集中定义的。必须添加对程序集“System.Runtime,Version=4.0.0.0,Culture=neutral,P
MyClass MyClass=新的MyClass();
该错误在引用PCL的每个项目中发生一次。他们都不是同一类人。我是PCLs的新手。我已经尝试过删除WindowsPhone8(正如我在最后一分钟添加的那样),但问题并没有消失。任何帮助都会受到欢迎
谢谢
更新:
因此,在类中声明的第一个字段(其中类来自PCL项目)出现这种情况。
另一个奇怪的方面是,有50多个类使用这些类,错误只出现在三个类中。您使用的是哪个版本的Xamarin.Android和Xamarin.iOS?您需要使用Xamarin.Android 4.7.x alphas来支持PCL或即将发布的4.8版本。(Xamarin.iOS也是如此:您需要一个待定的PCL支持的未来版本,或者使用alpha频道。)我刚刚遇到了这个完全相同的问题,并且具有与您相同的设置。在一篇评论中提到的一条提示(由斯图尔特提出,而斯图尔特又提到了@DavKean的一条推特)为我解答了这个问题 你必须:
- 访问Windows计算机(我使用的是Windows 8)
- 抓取
C:\Program Files(x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades\System.Runtime.dll
- 把它复制到你的Mac电脑上
- 从每个iOS和Droid项目添加对此
的引用dll
int a = 0;
MyPCLClass _myPCLClass = new MyPCLClass(); //This is where the error appears