0% encontró este documento útil (0 votos)
51 vistas23 páginas

Modulo2 VisualStudioenMAC

Es una interfaz de asistente para crear nuevos proyectos de forma guiada. Menú Archivo > Nuevo Proyecto: Abre la ventana de diálogo para crear un nuevo proyecto de forma manual. En la barra de menús superior encontramos las opciones habituales de archivo, edición, depuración, etc. Además de las opciones específicas de Visual Studio como las de soluciones, herramientas, ventanas, ayuda, etc. La barra de herramientas principal incluye los botones más habituales para crear, ab
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas23 páginas

Modulo2 VisualStudioenMAC

Es una interfaz de asistente para crear nuevos proyectos de forma guiada. Menú Archivo > Nuevo Proyecto: Abre la ventana de diálogo para crear un nuevo proyecto de forma manual. En la barra de menús superior encontramos las opciones habituales de archivo, edición, depuración, etc. Además de las opciones específicas de Visual Studio como las de soluciones, herramientas, ventanas, ayuda, etc. La barra de herramientas principal incluye los botones más habituales para crear, ab
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

 

PROGRAMA 
DE   MÓDULO 2. VISUAL STUDIO PARA MAC 
ENSEÑANZA  .NET Y VISUAL STUDIO 
ABIERTA 
 

2018-2019

|Equipo Docente de .NET y VISUAL STUDIO 
PROGRAMA DE FORMACIÓN PROFESIONAL Y PERSONAL 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA


  Introducción al Visual Studio 
 

INDICE DE CONTENIDOS
 

1.  INTRODUCCIÓN A VS PARA MAC .............................................................................................................. 4 


2.  USO DEL IDE ............................................................................................................................................. 7 
2.1.  ELEMENTOS BÁSICOS .......................................................................................................................... 7 
2.2.  EDITOR ................................................................................................................................................ 10 
2.3.  DEPURACIÓN Y EJECUCIÓN EN EL ENTORNO .................................................................................... 13 
3.  APLICACIONES .NET CORE ..................................................................................................................... 16 
4.  APLICACIONES XAMARIN ........................................................................................................................ 19 
 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 2


  |Equipo Docente de .NET y Visual Studio 
 

INTRODUCCIÓN

Visual Studio para Mac ha convertido el IDE de Xamarin enfocado en el desarrollo para dispositivos móviles,
el Xamarin Studio, en un entorno de desarrollo para Mac OS. Esta herramienta enfocada al desarrollador le
permite usar las características de .NET para crear aplicaciones para todas las plataformas requeridas por
sus usuarios.

La experiencia de usuario (UX) de Visual Studio para Mac es similar a la de la versión de Windows, pero con
una sensación nativa de macOS. La creación y el desarrollo de una aplicación en este entorno es una
experiencia familiar para cualquiera que haya utilizado Visual Studio en Windows. La plataforma de
compilación de Roslyn se utiliza para la refactorización y para el uso de IntelliSense. El sistema de proyectos
y el motor de compilación utiliza MSBuild. Y el editor, además de los lenguajes de .NET admite paquetes
TextMate para el uso del entorno con otros lenguajes. Utiliza los mismos motores de depuración para las
aplicaciones Xamarin y .NET Core, y los mismos diseñadores para Xamarin.iOS y Xamarin.Android.

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 3


  Introducción al Visual Studio 
 

1. INTRODUCCIÓN A VS PARA MAC


 

En  los  últimos  años  Microsoft  ha  cambiado  significativamente  su  visión  y  estrategia,  abriéndose  a  otras 
plataformas, adoptando el código abierto y centrándose aún más en los servicios en la nube. De hecho, 
Microsoft  ha  estado  haciendo  grandes  inversiones  para  llevar  sus  tecnologías,  sus  plataformas,  sus 
herramientas de desarrollo, sus marcos y sus servicios a otros sistemas operativos como Linux y macOS, y 
para usuarios que no eran de Microsoft. El desarrollo multiplataforma es de primordial importancia para 
esta estrategia y se basa en dos tecnologías principales (aparte de los servicios y plataformas en la nube): 

•  .NET  Core:  como  un  subconjunto  modular,  de  código  abierto  y  multiplataforma  del  marco  de  
.NET  para  permitir  a  los  desarrolladores  escribir  aplicaciones  y  servicios  que  se  ejecutan  en  Windows, 
Linux y Mac en C # y F #. 

• Xamarin: como la tecnología que permite a los desarrolladores escribir aplicaciones móviles que 
se ejecutan en Android, iOS y Windows con C # y F #. 

En esta visión, hay un pilar importante: el uso de lenguajes .NET como C # y F # para escribir código para 
cualquier plataforma. Lo más importante es que los desarrolladores pueden reutilizar sus habilidades de 
.NET en Linux y macOS, no solo en Windows. Pero para hacer esto posible, es necesario disponer de las 
herramientas  para  crear  aplicaciones.  Quienes  trabajan  en  Windows  tienen  Visual  Studio  que  ahora 
admite una variedad de tecnologías que no son de Microsoft. Para otros sistemas, Microsoft lanzó Visual 
Studio  Code  (code.visualstudio.com),  una  herramienta  multiplataforma  de  código  abierto.  Sin  embargo, 
Visual Studio Code no tiene herramientas de diseño integradas, no es compatible con Xamarin (al menos 
en la actualidad) y no proporciona herramientas especializadas que los desarrolladores puedan necesitar, 
como herramientas de publicación integradas o instrumentos de creación de perfiles.  Sin embargo, este 
entorno  no  resuelve  la  necesidad  para  aplicaciones  de  Apple  que  exigen  que  para  los  entornos  Mac  se 
deba  crear,  firmar  y  distribuir  las  aplicaciones.  De  esta  forma,  en  2017  Microsoft  finalmente  lanzó  la 
primera versión de Visual Studio para Mac. Visual Studio para Mac es un entorno de desarrollo integrado 
que se puede usar en macOS para crear aplicaciones que se ejecutan en cualquier plataforma y cualquier 
dispositivo en C # y F #, y que se integra perfectamente en esta primera visión de la nube para dispositivos 
móviles.  Visual  Studio  para  Mac  no  es  una  simple  conversión  de  Visual  Studio  en  Windows,  ni  es  una 
evolución  de  Visual  Studio  Code.  En  su  lugar,  es  un  entorno  de  desarrollo  profesional  creado 
específicamente  para  Mac,  con  una  interfaz  de  usuario  nativa  y  herramientas  adaptadas  para  macOS  y 
para el desarrollo multiplataforma. 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 4


  |Equipo Docente de .NET y Visual Studio 
 

Visual Studio para Mac está disponible en tres versiones diferentes: Community, Professional y Enterprise. 
Si no tiene una suscripción a MSDN y es un desarrollador individual, puede instalar la edición comunitaria 
de  forma  gratuita.  Esta  edición  también  se  puede  utilizar  bajo  estrictos  términos  de  licencia  en 
organizaciones empresariales y no empresariales: 

 
FIGURA 1.VERSIONES VISUAL STUDIO PARA MAC 

A  menos  que  se  especifique  lo  contrario,  todos  los  temas  comentados  en  este  documento  están 
disponibles en las tres ediciones.  

Los requisitos básicos del sistema para poder instalar el entorno son: 

 Un entorno Mac con al menos 4 GB de RAM y procesador de 1,8 GHz  
 Entre 1,8 GB y 4 GB de espacio en disco.  
 Las  versiones  de  MacOS  mínima  es  la  denominada  “Capitan”,  versión  10.11.  Aunque  la 
configuración recomendada es con macOS “Sierra” 10.12 y con 8 GB de RAM. Y los ejemplos de 
este documento se han realizado sobre un entorno macOS “Mojave” 10.14. 

El proceso de instalación se inicia una vez descargado el fichero “dmg” con el ejecutable del instalador que 
inicia las opciones que podemos elegir: 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 5


  Introducción al Visual Studio 
 

 
FIGURA 2.OPCIONES DE INSTALACIÓN 

Después de esta breve introducción vamos a comentar los elementos fundamentales de funcionamiento 
del entorno y las acciones básicas de depuración. Además hemos incluido un ejemplo sencillo para los dos 
entornos principales de desarrollo: .NET Core y Xamarin. 

   

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 6


  |Equipo Docente de .NET y Visual Studio 
 

2. USO DEL IDE

2.1. ELEMENTOS BÁSICOS


 

En el inicio el entorno es similar al que encontramos en Windows. La ventana de “Splash” incluye una serie 
de enlaces a recursos que intentan facilitar las tareas más habituales: 

 
FIGURA 3. VENTANA SPLASH DE INICIO DE VS PARA MAC 

Las áreas de esta ventana de inicio son: 

 Proyectos recientes: La lista de las últimas soluciones que se han manejado en el entorno. Desde 
cada una de ellas podemos cargar en el entorno la solución sobre la que se quiera trabajar. 
 Noticas  del  desarrollador.  En  esta  parte  de  la  ventana  de  inicio  se  incluyen  noticias  y  avisos  de 
actualizaciones del entorno. Desde cada noticia podemos acceder vía web a los detalles de cada 
elemento. 
 Comenzar: Es una lista a elementos iniciales de soporte y ayuda para los usuarios que se inician en  
el uso del entorno o para nuevos elementos que se han incorporado o modificado. 

Para crear un nuevo proyecto podemos usar la opción de la ventan de “splash” o elegir en el menú “Nueva 
solución”.  Esta  opción  no  inicia  la  lista  de  plantillas  de  soluciones  disponibles  agrupadas  en  distintas 
categorías: 

 Multiplataforma. Plantillas Xamarin para el desarrollo de apps para móviles, juegos o librerías. 
 iOS. Contiene plantillas de Xamarin.iOS para las plataformas iPhone o iPad. 
 Android.  Contiene  plantillas  de  Xamarin.Android  para  los  dispositivos  Android  incluyendo 
wearables y juegos. 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 7


  Introducción al Visual Studio 
 

 .NET  Core.  Incluye  plantillas  para  .NET  Core  vacías  para  .NET  Core  y  .NET  Core  Web  y  ASP  .NET 
Core. 
 Nube. Incluye una plantilla AzureFunctions (aplicaciones Azure sin servidor ni infraestructura). 
 Mac. Aplicaciones Mac basada en Cocoa y Juegos. 
 tvOS. Aplicaciones para la plataforma tvOS con una vista o pestañas. 
 Otros.  En  esta  categoría  genérica  se  incluyen  plantillas  para  el  desarrollo  de  aplicaciones  .NET, 
paquetes Nuget, ASP.NET o una solución completamente en blanco. 

 
FIGURA 4. PLANTILLAS VISUAL STUDIO 

Como ejemplo, básico vamos a construir una aplicación “reloj” para macOS con la plantilla de “Aplicación 
Cocoa”  desde  Visual  Studio.  Iniciamos  un  nuevo  proyecto  “Reloj”  desde  la  opción  de  Archivo‐>Nueva 
Solución con la plantalla de Mac‐>Apliación Cocoa. Lo primero que debemos es incluie la información de la 
aplicación: 

  Nombre: Reloj 

  Id organización: com.IAC 

También podemos elegir la personalización de la aplicación en el “dock” del escritorio y si queremos que 
sea compatible la aplicación con la administración de documentos para almacenar información en local y 
en iCloud. La opción de OS X mínima que va desde OS X Lion al macOS actual  

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 8


  |Equipo Docente de .NET y Visual Studio 
 

 
FIGURA 5. CONFIGURACIÓN DE LA APLICACIÓN 

Con esta configuración se incia en el entorno dos pestanas, una con AppDelegate.cs del código principal y 
otra con el asistente de Xamarin.Mac para enlazar con las opciones de ayuda (Learn), de desarrollo (Build) 
y de pruebas (Test). Si elegimos la ejecución de la aplicación vacía se mostrará una venana en blanco sobre 
la que podemos trabajar.  

Para el desarrollo de la interfaz, Visual Studio lanza desde la opción de “Build”, el “StoryBoard Designer” 
(editor de guíones) de Xcode que  no  es otra cosa que un editor  de fichero  “xib” (en el  Explorador de la 
Solución, el fichero Main.storyboard) que podemos iniciar desde la pestana “Xamarin.Mac” o abriendo el 
“storyboard” directamente. En este caso se inicia el entorno Xcode con su editor de guiones: 

 
FIGURA 6. EDITOR XCODE DE GUIONES 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 9


  Introducción al Visual Studio 
 

En este editor de guiones vamos a incluir un “label” y un “botón” con las opciones disponibles en el panel 
de  objetos  disponible  (los  objetos  disponibles  en  Xcode  están  accesibles  desde  el  icono  de  objetos,  un 
cuadrado con un círculo dentro): 

 
FIGURA 7. OBJETOS COCOA 

Al  editar  el  guión,  se  sincroniza  automáticamente  desde  Xcode  hacia  Visual  Studio  y  se  incluyen  los 
recursos de los objetos en el proyecto Visual. Si ejecutamos la aplicación ahora aparcerá con la etiqueta y 
el botón que hemos incluido: 

 
FIGURA 8. APLICACIÓN RELOJ 

2.2. EDITOR
 

El  entorno  como  en  Visual  Studio  se  organiza  en  una  serie  de  ventanas  flotantes  que  para  usar  la 
terminología  Mac  se  denominan  Paneles  (Pads).  En  las  capturas  anteriores  hemos  usado  el  panel  de  la 
solución: 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 10


  |Equipo Docente de .NET y Visual Studio 
 

 
FIGURA 9. PANEL DE LA SOLUCIÓN 

Y existen otra colección de paneles equivalentes a los cuadros de Visual Studio para Windows: 

 Panel  de  clases.  Que  muestra  la  jerarquía  de  clases  de  la  aplicación  sobre  la  que  se  está 
trabajando.  
 Panel de errores. El panel de errores muestra todos los mensajes que genera durante el desarrollo 
de una aplicación. Los mensajes pueden ser errores, advertencias y mensajes. Los errores incluyen 
cualquier problema o errores de bloqueo que encuentre el compilador que impida que su código 
se  compile  correctamente  y,  en  consecuencia,  impiden  que  su  aplicación  se  ejecute.  Las 
advertencias  incluyen  mensajes  sobre  posibles  problemas  que  en  realidad  no  impiden  que  su 
código  se  compile  correctamente,  pero  que  no  debe  ignorarse,  por  ejemplo,  duplicidad  de 
declaración  de  variables  o  variables  no  usadas.  Los  mensajes  son  avisos  relacionados  con  las 
operaciones del entorno, pero no afectan a la compilación de la aplicación. 
 Panel de propiedades. La apariencia del panel de propiedades es diferente según el elemento para 
el  que  necesita  configurar  las  propiedades,  pero  generalmente  aparece  como  una  tabla  de  dos 
columnas en la que la columna de la izquierda muestra el nombre de la propiedad y la columna de 
la derecha muestra o establece el valor de la propiedad.  
 Cuadro de herramientas. El cuadro de herramientas facilita la inclusión de elementos a su código o 
a elementos de la interfaz de usuario. En lugar de escribir manualmente fragmentos de código o 
escribir el código que define una parte de la interfaz de usuario en el momento del diseño, puede 
arrastrar  elementos  desde  el  teclado  de  la  caja  de  herramientas  hasta  el  editor  de  código  o  la 
superficie del diseñador. 

Existen  otros  paneles:  tareas,  resultados  de  pruebas,  Consola  de  pquetes,  etc.,  que  podemos 
mostrar/ocultar desde la opción Ver del entono. 

Como regla general, Visual Studio abrirá una nueva ventana de editor cada vez que haga doble clic en un 
archivo  de  código  en  el  panel  de  soluciones.  Cada  archivo  de  código  vive  en  una  ventana  de  editor 
separada que está representada por una pestaña. Visual Studio puede manejar infinitas ventanas de editor 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 11


  Introducción al Visual Studio 
 

(y pestañas). De manera predeterminada, el editor de código muestra la vista completa de un archivo de 
código, pero puede dividir una sola ventana de editor en dos columnas con Ver> Editor de columnas> Dos 
columnas.  Esto  es  útil  cuando  necesita  trabajar  en  diferentes  lugares  en  el  mismo  archivo  de  código 
simultáneamente. Use Ver> Editor de columnas> Una columna para restaurar la vista original. 

Como es de esperar, el editor de código de Visual Studio para Mac proporciona presentación de sintaxis 
para todos los lenguajes compatibles, como C #, F #, XML, XAML, HTML, JavaScript, JSON y Visual Basic. En 
todos los demás casos, el editor de código tratará los archivos como documentos de texto plano. 

El  menú  Editar  ofrece  comandos  comunes  para  editar  texto,  como  Copiar,  Pegar,  Cortar,  Deshacer, 
Rehacer  y  Seleccionar  todo.  También  proporciona  el  submenú  Formato,  que  incluye  comandos  para 
arreglar  espacios  como  Formato  de  documento,  Sangrar  y  Desvincular.  También  puede  convertir 
rápidamente  una  línea,  cadena  o  identificador  a  mayúsculas  y  minúsculas  con  los  comandos  del  mismo 
nombre. Con Unir líneas, puede convertir varias líneas de código seleccionadas en una sola línea. Con los 
Comentarios  de  Toggle  Line,  puede  comentar  o  descomentar  rápidamente  una  o  más  líneas.  Para  cada 
comando,  el  menú  Editar  también  muestra  los  atajos  de  teclado  adecuados.  Los  más  comunes  son 
Comando + C (Copiar), Comando + V (Pegar), Comando + X (Cortar) y Comando + Z (Deshacer). 

IntelliSense  también  está  incluido en esta versión. IntelliSense es un motor avanzado de terminación de 


palabras que proporciona sugerencias basadas en el contexto y ofrece ayuda y consejos sobre cómo usar 
un tipo o miembro. IntelliSense aparece cuando se empieza a escribir en el editor de código. IntelliSense 
filtra  automáticamente  la  lista  de  palabras  disponibles  para  completar  mientras  se  escribe.  Cuando 
desplaza la lista y selecciona un elemento, aparece  una información sobre  herramientas  que  muestra la 
documentación sobre ese elemento. Se puede presionar la barra espaciadora o la Pestaña para insertar la 
palabra seleccionada. Es necesario comentar IntelliSense aquí muestra solo lo que cree que es adecuado 
en el contexto actual, por lo que no muestra palabras reservadas u otros objetos que no deberían estar en 
el  cuerpo  del  método.  Si  se  inserta  una  palabra  y  luego  se  presiona  el  punto,  IntelliSense  mostrará  los 
objetos disponibles para el elemento insertado. Cuando se desplaza la lista de miembros, se muestra una 
información  sobre  la  herramienta  con  la  firma  del  miembro  y  la  documentación.  En  el  caso  de  los 
métodos,  si  se  presiona  las  teclas  de  cursor  izquierda  y  derecha,  se  puede  desplazar  por  la  lista  de 
sobrecargas de métodos. Además, cuando se insertan los métodos, IntelliSense muestra la documentación 
contextualizada para los parámetros de los métodos al abrir el paréntesis izquierdo. 

Como  ocurre  en  la  versión  de  Windows,  el  entorno  incluye  NuGet  como  administrador  de  paquetes 
integrado.  A  través  de  una  interfaz  de  usuario  integrada,  el  Administrador  de  paquetes  de  NuGet  le 
permite  descargar  y  hacer  referencia  a  una  gran  cantidad  de  bibliotecas  abiertas,  y  también  resuelve 
automáticamente cualquier dependencia adicional que pueda necesitar una biblioteca. Las bibliotecas se 
agrupan  en  los  llamados  paquetes  NuGet,  que  son  archivos  con  la  extensión  .nupkg  que  contienen  la 
propia biblioteca, metadatos que ayudan a los desarrolladores a identificar una biblioteca e información 
sobre las dependencias que una biblioteca necesita para consumir correctamente. Los paquetes de NuGet 
están alojados (y pueden publicarse) en un repositorio en línea disponible en NuGet.org: 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 12


  |Equipo Docente de .NET y Visual Studio 
 

 
FIGURA 10. ADMINISTRADOR DE PAQUETES NUGET  

El cuadro de diálogo Agregar paquetes muestra la lista de paquetes disponibles de NuGet.org. Para cada 
paquete,  se  puede  ver  la  descripción,  el  autor,  la  fecha  de  publicación,  el  número  de  descargas  y  las 
dependencias  adicionales  que  requiere  el  paquete.  De  forma  predeterminada,  solo  se  muestran  las 
versiones  estables,  pero  puede  seleccionar  la  casilla  de  verificación  y  mostrar  paquetes  de  versión 
preliminar  para  ver  otras  versiones.  Cuando  se  selecciona  un  paquete  NuGet  para  la  instalación,  Visual 
Studio mostrará un cuadro de diálogo que contiene una lista de todas las bibliotecas que se instalarán y un 
enlace al acuerdo de licencia para cada una. Mientras Visual Studio descarga e instala el paquete NuGet 
con  sus  dependencias,  se  puede  ver  el  progreso  de  la  operación  en  la  barra  de  estado.  Cuando  haya 
terminado, en el panel de soluciones se muestra un nuevo nodo llamado NuGet en Dependencias. Si se 
expande este nodo, se ve la biblioteca que se haya instalado y la lista de dependencias en las que se basa 
la biblioteca, si corresponde.  

2.3. DEPURACIÓN Y EJECUCIÓN EN EL ENTORNO


 

Visual Studio para Mac aprovecha los depuradores que se suministran con los dos marcos principales en 
los que se basa. Para .NET Core, Visual Studio se basa en el Microsoft .NET Core Debugger, que se incluye 
en  el  .NET  Core  SDK.  Este  es  el  mismo  depurador  que  utilizan  los  entornos  como  Visual  Studio  Code  y 
Visual  Studio  en  Windows  paa  las  aplicaciones  .NET  Core.  Para  Xamarin,  Visual  Studio  aprovecha  el 
depurador  Mono  Soft,  un  depurador  específico  para  Mono.  Su  característica  principal  es  que  es  un 
depurador integrado integrado en el marco de Mono, que es diferente de la mayoría de los depuradores. 
El  objetivo  de  este  apartado  no  es  explicar  lo  que  sucede  con  los  depuradores,  se  trata  de  explicar  las 
herramientas  que  el  IDE  proporciona  para  depurar  aplicaciones  independientemente  del  depurador  de 
respaldo. Obviamente, Android e iOS son dos sistemas diferentes y, por lo tanto, el Depurador Mono Soft 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 13


  Introducción al Visual Studio 
 

enviará diferentes tipos de mensajes dependiendo de la plataforma actual. El mismo concepto se aplica a 
Microsoft  .NET  Core  Debugger,  cuyo  comportamiento  es  totalmente  diferente  al  de  Mono  Soft,  y  que 
mostrará sus propios mensajes y tendrá sus propias características. 

Como ejemplo para ver las opciones de depuración vamos a utilizar un proyecto de .NET Core de consola 
en el que incluimos el código simple: 

 
FIGURA 11. EJEMPLO SIMPLE DE CONSOLA .NET CORE 

Que  lee  de  un  fichero  línea  a  línea  y  lo  muestra  por  la  consola.  El  objetivo  es  al  almacenar  un  mensaje 
dentro de una variable en lugar de pasarlo directamente como un argumento para Console.WriteLine y no 
incluir un bloque “try..catch” para manejar las excepciones de E/S es un error intencionado para mostrar 
cómo aprovechar algunas de las herramientas de depuración en el IDE. 

El panel de salida de la aplicación es de vital importancia cuando se realiza la depuración, ya que muestra 
toda la información que envía el depurador, y esto es de particular importancia en caso de problemas de 
tiempo de ejecución y excepciones generados por su aplicación, o errores que el sistema pueda encontrar 
al ejecutar la aplicación: 

 
FIGURA 12. PANEL DE SALIDA DE LA APLICACIÓN 

Los  puntos  de  interrupción  se  pueden  configurar  para  que  pueda  decidir  cuándo  y  cómo  deben 
condicionar la ejecución de la aplicación. Si se hace clic con el botón derecho en el glifo rojo de un punto 
de  interrupción  y  luego  selecciona  Editar  punto  de  interrupción,  accederá  al  cuadro  de  diálogo  Editar 
punto  de  interrupción.  Aquí  se  pueden  especificar  las  condiciones  y  las  acciones.  Las  condiciones 
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 14
  |Equipo Docente de .NET y Visual Studio 
 

determinan cuándo el depurador debe interrumpir la ejecución de la aplicación cuando se encuentra un 
punto  de  interrupción,  mientras  que  las  acciones  permiten  que  se  realicen  tareas  especiales  cuando  se 
alcanza el punto de interrupción. En el ejemplo anterior podemos introducir el punto de ruptura sobre la 
operación de abrir el fichero para encontrar el error al intentar acceder a un fichero “fichero.txt” que no 
existe: 

 
FIGURA 13. DEPURACIÓN CON PUNTO DE RUPTURA 

Si en este punto continuamos con la ejecución se mostrará el error de “FileNotFoundException”: 

 
FIGURA 14. EXCEPCIÓN EN DEPURACIÓN 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 15


  Introducción al Visual Studio 
 

3. APLICACIONES .NET CORE


 

Visual  Studio  para  Mac  admite  los  tipos  de  proyecto  .NET  Core  resumidos  en  la  siguiente  tabla,  todos 
disponibles a través del cuadro de diálogo Nuevo proyecto: 

Tipo de proyecto  Descripción 
Consola  Genera  una  solución  que  contiene  un  proyecto 
de  C  #  para  una  aplicación  de  consola 
independiente y vacía.  
ASP.NET Core vacío  Genera  una  solución  que  contiene  un  proyecto 
web ASP.NET Core vacío. 
ASP.NET Core Web API  Genera  una  solución  que  contiene  un  proyecto 
Core  de  ASP.NET  que  establece  un  servicio 
RESTful basado en el marco de la API web. 
ASP.NET Core Web App  Genera  una  solución  que  contiene  un  proyecto 
Core  de  ASP.NET  que  estructura  una  aplicación 
web basada en páginas de Razor. 
ASP.NET Core Web App‐MVC  Genera  una  solución  que  contiene  un  proyecto 
Core  de  ASP.NET  que  estructura  una  aplicación 
web  basada  en  el  marco  MVC,  con  vistas  y 
controladores. 
 

Como en la versión para Windows,  Visual Studio para Mac le proporciona un control sobre las opciones y 
propiedades  del  proyecto.  Se  puede  acceder  a  las  opciones  del  proyecto  con  Proyecto,  Opciones  de 
ProjectName  (donde  ProjectName  significa  el  nombre  de  su  proyecto)  o  haciendo  clic  con  el  botón 
derecho  en  el  nombre  del  proyecto  en  el  panel  de  soluciones  y  seleccionando  Opciones.  La  ventana 
Opciones de proyecto son: 

 
FIGURA 15. CONFIGURACIÓN DEL PROYECTO 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 16


  |Equipo Docente de .NET y Visual Studio 
 

En  el  nodo  General,  se  encuentra  la  Configuración  principal,  que  es  la  misma  para  todos  los  tipos  de 
proyectos  admitidos  en  VS  para  Mac.  Aquí  se  puede  especificar  un  nombre  de  proyecto  diferente,  un 
número  de  versión  específico,  una  descripción  opcional  y  el  espacio  de  nombres  de  C#  raíz,  y  se  puede 
cambiar  el  directorio  raíz  donde  se  almacenan  los  archivos  del  proyecto.  De  forma  predeterminada,  la 
versión del proyecto se hereda de la versión de la solución, pero puede desmarcar la casilla de verificación 
“Obtener versión de la solución principal” y proporcionar una nueva versión. Las otras configuraciones se 
generan en función de la información que se proporciona cuando se crea el proyecto y, a menos que se 
tengan requisitos específicos, se recomienda que no se cambien.  

En el grupo de compilación se puede cambiar el destino de compilación (ejecutable, biblioteca, ejecutable 
con  GUI  o  módulo),  la  clase  de  inicio  principal  de  C#,  el  archivo  de  iconos  y  la  página  de  códigos  de 
codificación para archivos de origen. Además, puede especificar la versión de C# que el compilador debe 
usar.  En  la  pestaña  “Comandos  personalizados”  se  permite  especificar  cualquier  acción  que  deba 
ejecutarse  antes,  durante  o  después  de  un  proceso  de  compilación  o  limpieza.  Las  acciones  son  por 
configuración,  por  lo  que  puede  especificar  diferentes  acciones  para  diferentes  configuraciones  y,  de 
forma  predeterminada,  el  cuadro  desplegable  Configuración  muestra  la  configuración  de  construcción 
activa,  pero  se  puede  elegir  una  diferente  y  proporcionar  cualquier  acción.  Las  acciones  admitidas  son 
Antes  de  compilar,  Compilación,  Después  de  compilar,  Antes  de  limpiar,  Limpiar,  Después  de  limpiar  y 
Comando personalizado. También se puede especificar la acción que debe ejecutarse proporcionando un 
nombre de aplicación en el cuadro de texto Comando. Los comandos pueden necesitar recibir parámetros, 
por ejemplo, la solución o el nombre del proyecto. Debido a que VS para Mac identifica dichos parámetros 
con constantes especiales, puede seleccionar la constante adecuada haciendo clic en el botón con el icono 
de  flecha  y  seleccionando  uno  de  los  valores  que  se  explican  por  sí  mismos  en  el  menú  desplegable.  Lo 
mismo se aplica a la casilla de verificación Directorio de trabajo, donde puede especificar el directorio en 
el  que  se  debe  ejecutar  el  comando.  La  pestaña  “Configuraciones”  le  permite  administrar  las 
configuraciones  de  compilación.  Por  defecto,  muestra  las  configuraciones  de  debug  y  release.  Puede 
agregar,  duplicar,  eliminar  y  cambiar  el  nombre  de  las  configuraciones  con  los  botones  Agregar,  Copiar, 
Eliminar  y  Cambiar  nombre,  respectivamente.  La  pestaña  “Compilador”  permite  influir  en  el  proceso  de 
compilación según la configuración activa: 

 
FIGURA 16. CONFIGURACIÓN DE COMPILACIÓN 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 17


  Introducción al Visual Studio 
 

Una vez que la aplicación se esté ejecutando, se pueden usar todas las herramientas de depuración que se 
analizan en el capítulo anterior. La depuración de aplicaciones .NET Core se basa en el .NET Debugger, un 
depurador  de  código  abierto  y  multiplataforma  que  Visual  Studio  para  Mac  adjunta  al  ejecutable  de  la 
aplicación .NET. Sin embargo, en el caso de ASP.NET Core, esto no es suficiente. De hecho, una aplicación 
web debe estar alojada en un servidor web para poder iniciarse. Si se conoce el desarrollo de aplicaciones 
ASP.NET con .NET en Windows se utilizaba el Internet Information Services (IIS) o el Internet Information 
Services Express como opciones disponibles para hospedar la aplicación. Estos solo están disponibles  en 
Windows, por lo que .NET Core incluye un servidor web de desarrollo de código abierto especial llamado 
Kestrel. El comportamiento de Kestrel es muy similar al de IIS Express, con la importante diferencia de que 
se ejecuta en todas las plataformas: macOS, Linux y Windows. Con Kestrel, se puede ejecutar, depurar y 
probar  la  aplicación  como  si  estuviera  en  un  servidor  web  real.  Como  es  de  esperar  de  un  servidor  de 
desarrollo,  la  URL  de  la  aplicación  siempre  es  local:  “http://localhost”  seguido  del  número  de  puerto. 
Puede simplemente hacer clic en la barra de direcciones para ver el número de puerto actual.  

 
FIGURA 17. EJECUCIÓN ASP.NET CORE 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 18


  |Equipo Docente de .NET y Visual Studio 
 

4. APLICACIONES XAMARIN
 

Visual Studio para Mac incluye una gran cantidad de plantillas de proyectos para el desarrollo de Xamarin 
que están disponibles en el cuadro de diálogo “Nuevo proyecto”, en el grupo de “Multiplataforma”: 

 
FIGURA 18. PLANTILLAS MULTIPLATAFORMA 

En la categoría Multiplataforma, se ofrecen plantillas de proyectos que tienen como objetivo maximizar la 
reutilización  del  código.  En  esta  categoría,  se  encuentran  plantillas  que  permiten  compartir  código  por 
plataforma,  como  Xamarin.Forms,  o  por  tipo  de  proyecto,  como  Proyectos  compartidos  y  bibliotecas 
estándar de .NET. 

La  categoría  Multiplataforma  se  divide  en  tres  subcategorías:  Aplicación,  Bibliotecas  y  Pruebas.  Los 
nombres  de las subcategorías se explican por sí solos: la aplicación contiene  plantillas  de  proyectos que 
permiten  crear  una  aplicación,  las  bibliotecas  contienen  plantillas  de  proyectos  que  permiten  producir 
bibliotecas  reutilizables  y  Tests  contiene  plantillas  de  proyectos  que  permiten  crear  proyectos  para  la 
automatización de pruebas de interfaz de usuario. Las mismas subcategorías existen en las categorías de 
plantillas de iOS y de Android. La descripción de las plantillas de proyecto son las siguientes: 

Plataforma  Tipo  Descripción 


Xamarin.Forms  De  formularios  Genera una solución que contiene un proyecto Xamarin.Forms 
maestro  y  multiplataforma  y  un  back  end  API  Web  ASP.NET  basado  en 
detalle.  .NET Core y optimizado para su publicación en Microsoft Azure. 
  El proyecto Xamarin.Forms contiene datos de muestra y vistas 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 19


  Introducción al Visual Studio 
 

de  muestra  para  simular  una  aplicación  de  lista  de  tareas, 
incluidas las operaciones y la autenticación CRUD. 
Xamarin.Forms  Formulario  en  Crea una solución que contiene un proyecto Xamarin.Forms en 
blanco  blanco. 
Nativa  (iOS,  Nativas  Genera  una  solución  que  contiene  un  proyecto  Xamarin.iOS  o 
Android)  un  proyecto  Xamarin.Android  y  un  proyecto  para  compartir 
código  entre  los  dos  proyectos  Xamarin.  Esto  puede  ser  un 
proyecto  compartido  o  una  biblioteca  estándar  .NET.  Los 
proyectos  de  Xamarin  incluyen  una  base  de  API  web  ASP.NET 
basada en .NET Core y datos de muestra y vistas para simular 
una aplicación de lista de tareas, incluidas las operaciones y la 
autenticación  de  CRUD.  El  proyecto  de  back‐end  está 
optimizado para su distribución a Microsoft Azure. 
Nativa  (iOS,  Nativas  Genera  una  solución  que  contiene  proyectos  Xamarin.iOS  y 
Android)  Xamarin.Android  en  blanco,  además  de  un  proyecto  para 
compartir  código  entre  los  dos,  que  puede  ser  un  proyecto 
compartido o una biblioteca estándar de .NET. 
Juegos (iOS, Mac)  Sprike  Genera  una  solución  que  contiene  un  proyecto  Xamarin.iOS 
que permite crear juegos 2D basados en el marco SpriteKit de 
Apple. 
Juegos (iOS, Mac)  SceneKit  Genera  una  solución  que  contiene  un  proyecto  Xamarin.iOS 
que permite crear juegos 3D basados en el marco de SceneKit 
de Apple. 
 

Xamarin.Forms permite crear proyectos dirigidos a múltiples plataformas, como iOS y Android, desde una 
única  base  de  código  C#  compartida.  Xamarin.Forms  es  esencialmente  una  biblioteca  que  envuelve  los 
controles nativos en objetos que puede usar para codificar una vez, y luego el tiempo de ejecución genera 
aplicaciones  nativas  que  traducen  estos  objetos  en  los  elementos  visuales  específicos  de  la  plataforma 
apropiada.  Para  realizar  una  “Nueva  solución”,  elegimos  en  el  cuadro  de  diálogo  Nuevo  proyecto,  y 
“Aplicación de formularios en blanco”, pasando a la. segunda pantalla en la que especificamos un nombre 
para su proyecto en el cuadro de texto Nombre de la aplicación: 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 20


  |Equipo Docente de .NET y Visual Studio 
 

 
FIGURA 19. PROYECTO EN BLANCO DE XAMARIN 

El “id de la organización” se utiliza para identificar a la aplicación en las tiendas de distribución. Las otras 
dos opciones dejan elegir la o las plataformas destino (Android/iOS) y la estrategia de código compartido: 
o  .NET  Standard  o  la  biblioteca  compartida.    En  la  siguiente  pantalla,  se  incluye  la  opción  de  utilizar  un 
nombre de proyecto distinto al de la solución, así como incorporarlo al control de código basado en Git. 

La solución contiene tres proyectos: el primer proyecto es una biblioteca estándar .NET que contiene todo 
el código que se puede compartir entre plataformas, como los elementos visuales que existen tanto en iOS 
como  en  Android  (etiquetas,  cuadros  de  texto,  botones,  etc.)  .  Los  otros  dos  proyectos  son  proyectos 
nativos de Xamarin.Android y Xamarin.iOS, que contendrán cualquier código específico de la plataforma 
que necesita escribir para acceder a las API que Xamarin.Forms no puede compartir entre las plataformas. 
En Xamarin.Forms y, más generalmente, con el desarrollo de aplicaciones móviles, la interfaz de usuario se 
presenta  con  páginas.  Al  crear  una  solución  Xamarin.Forms,  también  se  proporciona  una  página  raíz  de 
tipo ContentPage en un archivo llamado MainPage.xaml. Toda la interfaz de usuario en Xamarin.Forms se 
define  mediante  el  lenguaje  XAML  (lenguaje  de  marcado  de  aplicaciones  extensible),  que  asigna 
elementos visuales a los nodos XML y sus propiedades a los atributos XML. Para cada página, definida en 
archivos  .xaml,  también  hay  un  archivo  de  código  subyacente  en  C#,  donde  se  escribe  el  código  que 
implementa la lógica y las acciones para la interfaz de usuario. En el caso de MainPage.xaml, el archivo de 
código subyacente se llama MainPage.xaml.cs y se puede abrir al expandir el elemento MainPage.xaml en 
el panel de soluciones: 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 21


  Introducción al Visual Studio 
 

 
FIGURA 20. MAINPAGE. PUNTO DE ENTRADA A LA APP 

La depuración y las pruebas de proyectos Xamarin es idéntica en Visual Studio para Mac a la que se realiza 
en la versión de Windows. En la barra de herramientas estándar, se puede seleccionar la plataforma a la 
que desea dirigirse seleccionando el Proyecto de Android o iOS como el proyecto de inicio, luego puede 
elegir  uno  de  la  lista  de  dispositivos  disponibles,  que  incluye  emuladores  y  dispositivos  físicos  (si  está 
conectado al equipo Mac). Una vez que se haya seleccionado la plataforma y el dispositivo de destino, se 
puede iniciar en la barra de herramientas estándar para iniciar la depuración.  

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 22


  |Equipo Docente de .NET y Visual Studio 
 

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 23

También podría gustarte