When you have a PCL project for several purposes, and you want to abstract the output of the .dll in other projects, make sure you select the correct .dll with the correct compilation.
For instance:
- you have a business project that is PCL for WP 8 and SL 5.
- you have 2 projects that reference the dll from the above business project
In WindowsPhone proj When you go to add a link, you must choose the one that was compiled for ARM [note that if you want to run the emulator, you must choose the x86 version because the emulator is not ARM]. If you add the x86 version and you install it in ARM in the configuration manager, Visual Studio will warn you with the same error as yours, because you will run the ARM code and specify the x86 code.
Check if the .dll you are adding is added with the configuration manager. Change it for the architecture you want instead of "Multiple Platforms" and "Any processor"
source share