Splat [0.3.4] on Xamarin.iOS: issues with RectangleF and PointF

ios, portable-class-library, xamarin-studio, xamarin.ios

Solution

Yep, I'll build a new release of Splat tomorrow'ish, but building from source will also solve this.

Edit: Splat 1.0 is live and contains the fix for this bug

Problem

I'm trying to embrace the new PCL fun on a Xamarin.iOS project in Xamarin Studio. I created a PCL "Core" library for my project and added Splat (v0.3.4) via NuGet. Then, in a consuming iOS project, I reference my core library. Once I do that, a couple compile errors show up. One of these: ``` 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) ``` Multiple of these: ``` 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) ``` It looks like this was addressed in an pull request to Splat that landed since v0.3.4 hit NuGet. Following along with the notes there, I added a reference to `Splat.Portable.dll` to the iOS project. When I do, the compile errors change up to complain about too many type definitions. ``` 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) ``` Is it possible to work around these errors using Xamarin Studio 4.2.1 (Xamarin.iOS 7.0.4.209), and Splat 0.3.4 or do I need to build the latest code with its type-forwarding awesomeness?

Original source