我正试图在Xamarin Studio的Xamarin.iOS项目中拥抱新的PCL乐趣.我为我的项目创建了一个PCL"Core"库,并通过NuGet 添加了Splat(v0.3.4).然后,在一个消费的iOS项目中,我引用了我的核心库.一旦我这样做,就会出现一些编译错误.
其中之一:
Error CS0012: The type `System.Drawing.PointF' is defined in an assembly that is not referenced. Consider adding a reference to assembly `Splat.Portable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' (CS0012)
多个这些:
Error CS0029: Cannot implicitly convert type `System.Drawing.PointF [monotouch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]' to `System.Drawing.PointF [Splat.Portable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]' (CS0029)
看起来这是因为自从v0.3.4命中NuGet以来对Splat的拉动请求已经解决了这个问题.跟着那里的笔记,我添加了对Splat.Portable.dll
iOS项目的引用.当我这样做时,编译错误会改变为抱怨太多的类型定义.
Error CS0433: The imported type `System.Drawing.RectangleF' is defined multiple times (CS0433) Error CS0433: The imported type `System.Drawing.PointF' is defined multiple times (CS0433)
是否可以使用Xamarin Studio 4.2.1(Xamarin.iOS 7.0.4.209)和Splat 0.3.4来解决这些错误,还是我需要构建具有类型转发功能的最新代码?
是的,我明天将建立一个新版本的Splat,但是从源码构建也将解决这个问题.
编辑: Splat 1.0是实时的,包含此bug的修复程序