Error MonoTouch MT2002: no se puede resolver la reference

Estoy trabajando en un proyecto iOS / MonoTouch que está utilizando mucha reflexión. Todo funciona muy bien, pero cuando compilo la versión Debug | iPhone obtengo el error:

error MT2002: No se puede resolver la reference: System.Boolean System.Reflection.PropertyInfo :: op_Equality (System.Reflection.PropertyInfo, System.Reflection.PropertyInfo)

Lo curioso es que la versión Release | iPhone funciona bien.

¿Qué puede estar mal?

La sobrecarga del operador == para PropertyInfo , que se denomina internamente op_Equality , está disponible en .NET 4.0 y posterior. IOW no está disponible en la versión de mscorlib.dll que viene con MonoTouch (que es un superset del perfil de Silverlight, 2.1).

Lo que está sucediendo es probablemente una versión diferente de un ensamblado precomstackdo que se utiliza al crear Debug (en comparación con Release ). Esta versión utiliza methods que no están disponibles en MonoTouch y esto producirá errores al vincular o AOT-ing su aplicación.

Solución: vuelva a comstackr este ensamblado con la versión de mscorlib.dll que se entrega con MonoTouch. Esto evitará la reference a op_Equality (y usa Equals ) y la compilation debería funcionar bien.