我正在尝试在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以来,就在pull request to Splat中解决了该问题。跟随那里的注释,我在iOS项目中添加了对Splat.Portable.dll的引用。当我这样做时,编译错误会更改为抱怨太多的类型定义。
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已发布,其中包含针对此错误的修复程序

关于ios - Xamarin.iOS上的Splat [0.3.4]:RectangleF和PointF的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20385152/

10-09 18:44