Estoy escribiendo una aplicación para Android de Xamarin con Visual Studio 2015 (Windows). Quiero apuntar a la última API de Android, mientras mantengo la compatibilidad con API 16 (4.1 Jelly Bean).
Sé cómo asegurarme de que no se produzca ningún error en tiempo de ejecución a través de una verificación de nivel de API:
if(Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { //Call API supported by Lollipop and above, but not by lower API's } else { //Alternative code for graceful backwards compatibility } Desafortunadamente, si no tengo esta verificación, Visual Studio aún compila y ejecuta felizmente mi código, y si la API no es compatible, obtengo una excepción Java.Lang.NoSuchMethodError en tiempo de ejecución. Puedo restablecer manualmente el proyecto a una API de nivel inferior para detectar los errores en tiempo de compilación, pero esto es un poco engorroso: sería genial detectar estos errores (incluso como advertencias) en tiempo de compilación, sin restablecer manualmente cada nivel inferior API que me gustaría admitir.
¿Cómo puedo detectar una llamada API incompatible en tiempo de compilación?
NOTA : Encontré una pregunta similar en StackOverflow, pero aborda específicamente Xamarin Studio para Mac, lo que sugiere que esto debería ser posible en Visual Studio 2015 para Windows (la solución 2017 también está bien).