I am having an issue with a PCL that is trying to reference System.Dynamic.IDynamicMetaObjectProvider. It only happens when being called from an iOS app; calling from an Android app works fine. Attached is a project (with iOS, Android, and PCL) that reproduce the problem.
The details are as follows: The PCL is configured for .Net 4.5 - Profile 7 (which excludes Silverlight 5 and WP8). My environment is Xamarin Studio 4.2.3 (build 54), Xamarin.iOS 7.0.7.0, and Xamarin.Android 4.12.0 - all up-to-date from the beta update channel.
If the iOS app calls a method in the PCL, it immediately faults with this exception: Could not load type 'System.Dynamic.IDynamicMetaObjectProvider' from assembly 'System.Dynamic.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
I came across this because my PCL is including JSON.Net downloaded from Nuget. It makes use of IDynamicMetaObjectProvider so I am completely unable to make use of my PCL from my iOS app. Using JSON.Net from the component store is not an option for me without completely rearchitecting everything I've already done in my PCL & Android projects. I have also tried cloning JSON.Net and building it myself with the same results.
Please help! -John