Yesterday I had problems adding the MVVM Cross 3.5 (PreRelease) package to a .NET PCL. (See question on SO)

I was getting this compatibility error

Could not install package 'MvvmCross.PortableSupport 3.5.0-beta1'. You are trying to install this package into a project that targets 'portable-net45+sl50+Xamarin.iOS10+MonoAndroid10+MonoTouch10', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

I tried cutting back the configured targets but Visual Studio kept telling me that the likes of Silverlight 5 were going to be  “automatically targeted” because they support the same set of portable APIs. Despite what people say Silverlight 5 would not die Smile. @slodge suggested editing the csproj file directly to change the targeted profile number. How anyone is supposed to know how to do that based on the error message is beyond me. If anyone can explain a detailed way of diagnosing the “Could not install package…” error messages please add a comment below.

Once I’d changed the TargetFrameworkProfile and “reloaded” the project in Visual Studio the project had  “(Updated Required)” displayed next to it.

Visual Studio however did not need updating it was just confused because the project now had a TargetFrameworkProfile of 259 but a TargetFrameworkVersion of “v4.0” these are not compatible and I simply needed to update it to “v4.5”. I discovered this in this Stack Overflow answer. Once I had changed the TargetFrameworkProfile and TargetFrameworkVersion I could add the MVVM Cross Nuget Package.

Hope the next person who stumbles into this area.