Visual Studio 2017 para Mac

Last Update: 01/09/2017

Este artículo contiene información sobre la versión más reciente de Visual Studio 2017 para Mac, la versión 7.1.

Visual Studio 2017 para Mac permite crear aplicaciones para dispositivos móviles, la Web y la nube con Xamarin y .NET Core, así como juegos con Unity.

Descargar Visual Studio 2017 para Mac

Para más información sobre otras descargas relacionadas, consulte la página Descargas. Para obtener más información sobre Visual Studio 2017 para Mac, consulte Mac System Requirements (Requisitos del sistema de equipos Mac) y Mac Platform Targeting and Compatibility (Compatibilidad y destinatarios de la plataforma Mac).

Comentarios

Queremos que nos dé su opinión. Puede informar de un problema con la opción Notificar un problema del instalador o del propio IDE de Visual Studio. Encontrará la opción en la esquina superior derecha. Puede realizar un seguimiento de sus comentarios en el portal de la Comunidad de desarrolladores. Si quiere hacer alguna sugerencia, puede hacerlo a través del sitio de UserVoice.

Fecha de publicación: 14 de agosto de 2017 - Visual Studio 2017 para Mac 7.1.0.1297

Esta versión se centra corregir errores y presenta estas características nuevas:

  • Compatibilidad con la creación de aplicaciones con .NET Core 2.0.
  • Actualizaciones del flujo de trabajo de firma de iOS.

Compatibilidad con .NET Core 2

Visual Studio para Mac permite crear aplicaciones de .NET Core 2.0, como bibliotecas o aplicaciones de consola, así como aplicaciones web y servicios con ASP.NET Core.

Tenga en cuenta que el SDK de .NET Core 2.0 debe instalarse mediante una descarga independiente para permitir el desarrollo de .NET Core 2.0 en Visual Studio de 2017 para Mac versión 7.1. Para obtenerlo, visite www.dot.net/core. Visual Studio ofrece compatibilidad en paralelo con varios SDK de .NET Core. Esto también significa que puede experimentar con la compilación diaria más reciente del SDK de .NET Core, al tiempo que desarrolla con las últimas versiones públicas.

Actualizaciones del flujo de trabajo de firma de iOS

Esta versión introduce la posibilidad de crear artefactos de firmas necesarios para aplicaciones de iOS y tvOS. Con Visual Studio para Mac, es posible hacer lo siguiente:

  • Crear identidades de firma e instalarlas en la cadena de claves local.
  • Crear perfiles de aprovisionamiento.
  • Agregar una identidad de firma nueva a un perfil existente.
  • Aprovisionar nuevos dispositivos: se puede registrar un dispositivo en el portal para desarrolladores de Apple y agregarlo a un perfil de aprovisionamiento.

Para probar estas nuevas características de firma, haga clic con el botón derecho en el proyecto y vaya a Opciones > Firma de lote de iOS.

Uso de la sección Identidad de firma

Antes de la firma, se deben cumplir los siguientes criterios:

  • En la sección “Certificados” del portal para desarrolladores de Apple se muestra un certificado válido (no revocado).
  • El certificado se emite para un desarrollador o equipo en concreto.
  • Tanto el certificado como la clave privada deben estar instalados en la cadena de claves local.
  • El certificado debe estar en vigor.

Si no hay identidades disponibles en el equipo actual, debe usarse la opción Crear identidad de firma...

Uso de la sección Perfil de aprovisionamiento

Para que se muestre en la lista desplegable “Perfil de aprovisionamiento”, el perfil debe cumplir los siguientes criterios:

  • Estar vigente.
  • Ser válido (incluya dispositivos registrados y certificados válidos).
  • Coincidir con el tipo de distribución actual (depuración o versión en función de los modificadores de la parte superior).
  • Coincidir con el identificador de paquete. En esta lista también se mostrarán los perfiles comodín que tengan un patrón que coincida.

Si no se encuentra ningún perfil, debe usarse el elemento Crear perfil de aprovisionamiento... de la lista desplegable.

Si fuese necesario volver a la versión anterior de los controles de firma y establecer de forma manual el perfil de aprovisionamiento y la identidad de firma, habrá que establecer el equipo en Ninguno. Los nuevos controles de firma se reemplazarán por los antiguos, aunque es muy recomendable probar la nueva funcionalidad y, en caso de problemas, trasladarnos los comentarios.

Limitaciones:

  • Los perfiles de aprovisionamiento creados en Visual Studio para Mac no tendrán en cuenta los derechos seleccionados en los proyectos (Entitlements.plist). Esta funcionalidad se agregará en futuras versiones del IDE.
  • El destino predeterminado de los perfiles de aprovisionamiento de distribución será App Store. Los perfiles In House o Ad Hoc deben crearse manualmente.

Correcciones de esta versión

Administrador de SDK de Android

  • Android SDK Manager está ahora integrado en Visual Studio Preferences en lugar de ser una aplicación externa.
  • Corrección: Android SDK Manager muestra el estado de componente incorrecto después de una instalación anulada.
  • Corrección: Las herramientas de Android SDK se instalan pero no se seleccionan si hay una actualización disponible. Esto puedo causar que el componente se desinstale de forma no intencionada.
  • Corrección: La ubicación predeterminada de Android SDK no se guarda si no se ha realizado ningún cambio en los componentes del SDK.

Mejoras en el rendimiento

  • Se ha mejorado el rendimiento al abrir y representar un documento, y escribir en él.
  • Se ha optimizado el trabajo en segundo plano mientras se escribe.
  • Se ha mejorado el tiempo de carga al abrir una solución.
  • Se ha optimizado la carga de los resultados de la barra de búsqueda.
  • Se han optimizado un gran número de reglas de análisis de código fuente.
  • Se ha optimizado el código de nivel bajo del trabajo de la interfaz de usuario.
  • Se han corregido problemas que provocaban que el uso de la memoria del IDE se incrementase a lo largo del tiempo.
  • Se ha optimizado la finalización de código, la sugerencia de parámetros y el resaltado semántico.
  • Se ha optimizado la expansión de las carpetas en el panel de solución, perceptible sobre todo en carpetas que contienen cientos de elementos.
  • Se ha optimizado el tiempo de inicio del IDE tanto en la primera ejecución como en las siguientes.
  • En general, se ha optimizado el uso de la CPU y el tráfico de memoria para la utilización del IDE.

Otras mejoras

  • Mejora: Hemos actualizado el servicio de identidad para su uso en sistemas ubicados detrás de un proxy. De este modo, los detalles de autenticación se obtendrán de la cadena de claves o se solicitarán. Si previamente ha tenido problemas para iniciar sesión, inténtelo de nuevo y envíenos sus comentarios para que podamos seguir mejorando la compatibilidad con servidores proxy.
  • Corrección: La restricción de prioridad muestra el valor 0 en el panel de propiedades; no se puede establecer desde la ventana emergente del diseñador.
  • Corrección: Se ha agregado la capacidad de especificar el destino de la plataforma para proyectos de F#.
  • Corrección: Por un problema en el código de espacios de nombres sin usar, no se controlan correctamente los espacios de nombres de FSharp.Core.
  • Corrección: Muchas cadenas o cuadros de diálogo de “Nuevo archivo” no están localizados.
  • Corrección: Los cuadros de diálogo “Nueva solución” no están localizados.
  • Corrección: Se trunca el texto del cuadro de diálogo “Configurar la nueva aplicación de vista única”.
  • Corrección: La información sobre herramientas del asistente de NuGet muestra la referencia de carácter xml “'”.
  • Corrección: La información sobre herramientas del actualizador está vacía cuando las actualizaciones se ponen en pausa.
  • Corrección: Error de actualización del repositorio Git en VSTS con “nombre de usuario o contraseña nulos”.
  • Corrección: Error de refactorización del escenario de “nameof” en el primer uso.
  • Corrección: La página principal pierde el proyecto reciente cuando hay muchos proyectos recientes.
  • Corrección: Error de compilación de iOS si la aplicación de contenedor tiene habilitadas compilaciones específicas de dispositivo y la extensión no.
  • Corrección: El resaltado de sintaxis no está presente con la interpolación de cadenas de C#6 para las variables locales.
  • Corrección: En algunos casos, los usuarios no pueden iniciar Xamarin Inspector.
  • Corrección: Se obtienen advertencias durante la compilación de la aplicación nativa (e iOS) en modo de versión.
  • Corrección: La biblioteca de clases de .NET Core tiene como destino .NET Standard en lugar de netcoreapp.
  • Corrección: El IDE se bloquea al agregar una imagen (.png o .jpg) en un Storyboard de iOS.
  • Corrección: Al agregar todos los paquetes de Google Play Services, se produce un error con “System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.v Parameter name: packageIdentity.Version” (System.AggregateException: Se han producido uno o varios errores. ---> System.ArgumentNullException: El valor no puede ser nulo. Nombre de parámetro: packageIdentity.Version).
  • Corrección: El submenú de Corrección rápida que se abre con el botón derecho se queda bloqueado en “Cargando...”.
  • Corrección: El explorador de archivos no muestra la ubicación del SDK al hacer clic en la opción “...” de la pestaña Ubicaciones de Android SDK Manager.
  • Corrección: Los proyectos de .NET Core de F# no se compilan.
  • Corrección: Al iniciar sesión en la cuenta de MS se solicitan las credenciales para tener acceso al servidor proxy graph.windows.net.
  • Corrección: Interbloqueo en Buscar referencias y “Buscar tipos derivados” para algunos proyectos de F#.
  • Corrección: Excepción de referencia nula al intentar agregar una nueva cuenta de iOS en Visual Studio para Mac.
  • Corrección: Al agregar un proyecto .NET Standard a una estructura de solución o directorio existente, se reescribe o se cambia el formato de todo el código fuente en el disco.
  • Se quita el requisito de tener instalada una versión concreta de .NET Core (versión preliminar 2) para poder usar .NET Core 2.0. Ahora se admiten versiones preliminares posteriores y .NET Core RTW.

Fecha de publicación: 02 de junio de 2017 - Visual Studio para Mac 7.0.1.24

En esta versión se han corregido una serie de errores y pérdidas de memoria.

Administrador de SDK de Android

  • Corrección: La licencia del SDK no se encapsula correctamente.
  • Corrección: El botón Cancelar no vuelve a cambiar la etiqueta a Instalar actualizaciones.
  • Corrección: Al desinstalar la última compilación de las herramientas del SDK, se desinstalan todas las herramientas del SDK.
  • Corrección: Se pueden modificar los componentes mientras las actualizaciones están en curso.
  • Corrección: No se pueden usar las herramientas del SDK descargadas del instalador independiente debido a problemas de permisos.
  • Corrección: No se puede instalar ningún componente quitado previamente.
  • Corrección: Herramientas del SDK 25.2.5 no se puede instalar.

Otros problemas

  • Corrección: Problema con la restauración de documentos con ventanas de documentos en paralelo.
  • Corrección: El nombre "InitializeComponent" no existe en el contexto actual con la biblioteca portátil de formatos .NETStandard/new csproj.
  • Corrección: Se produce un error de implementación de Android silenciosamente en modo de lanzamiento.
  • Corrección: La corrección rápida no hace nada.
  • Corrección: No se puede quitar una referencia en el cuadro de diálogo Editar referencias.
  • Corrección: No se puede cargar la aplicación PCL de formularios de iOS en la nube de prueba en el paso de compilación con el error "Error de MSBuild desconocido".
  • Corrección: No se pueden inspeccionar las variables en las aplicaciones .NET Core.
  • Corrección: Los comandos de depuración de F# se muestran en todos los archivos.
  • Corrección: La plantilla de formularios de Xamarin de F# no restaura los paquetes.
  • Corrección: La pila de llamadas desaparece cuando se efectúa una selección de subprocesos durante la depuración de la aplicación .NET Core.
  • Corrección: Si se mantienen pulsadas las teclas MAYÚS y de flecha hacia abajo, se sigue seleccionando el texto más allá de la ventanilla.
  • Corrección: Bloqueo de la interfaz de usuario durante la restauración de paquetes.
  • Corrección: El editor no procesa el texto completo.
  • Corrección: Problema de ordenación al abrir un archivo tras cargar la solución con los eventos de Apple al abrir los archivos.
  • Corrección: El cambio de nombre de un archivo para que coincidiera con el nombre de clase eliminaba el archivo.
  • Corrección: La finalización del controlador FooButton_Clicked no genera ningún código auxiliar del método.
  • Corrección: La pantalla dividida hace que los elementos de menú se deshabiliten.

Novedades de Visual Studio para Mac

Funcionalidad principal

Visual Studio para Mac tiene todo lo que esperaría de un IDE moderno, incluido un editor de código fuente completo, búsqueda de código y navegación, un depurador eficaz, un espacio de trabajo personalizable, integración con Git y un sistema de extensiones mejorado.

Otras características incluyen:

  • IntelliSense de C# basado en Roslyn, refactorización, analizadores y correcciones de código.
  • Administración de paquetes basada en NuGet.
  • Formato de proyectos compatible de Visual Studio.
  • Motor de compilación MSBuild.
  • Pruebas unitarias integradas.
  • Compatibilidad estándar con F#.

Compatibilidad de .NET Core

.NET Core es una plataforma para crear aplicaciones que se pueden ejecutar en Windows, Linux y Mac. Visual Studio para Mac ofrece compatibilidad para cargar, crear, ejecutar y depurar proyectos de .NET Core.

Para poder ejecutar proyectos de .NET Core es necesario descargar e instalar el SDK de .NET Core.

La compatibilidad con .NET Core incluye:

  • IntelliSense de C# y F#.
  • Plantillas de proyecto de .NET Core para aplicaciones web, de biblioteca y de consola.
  • Compatibilidad de depuración total, incluidos puntos de interrupción, pila de llamadas, ventana de inspección, etc.
  • NuGet PackageReferences y restauración basada en MSBuild.
  • Compatibilidad con pruebas unitarias integradas para la ejecución y depuración de pruebas con la plataforma de pruebas de Visual Studio que se incluye con el SDK de .NET Core.
  • Migración desde el formato antiguo project.json.

Herramientas web

Visual Studio para Mac agrega nueva compatibilidad con las herramientas web para archivos HTML, CSS y JSON.

HTML

  • Nueva plantilla HTML.
  • Sangría inteligente y formato mejorados.
  • Coloración mejorada.
  • IntelliSense mejorado.
  • Plegado de código (debe habilitarse).
  • Comando Unminify.
  • Plantillas de código mejoradas (fragmentos de código).
  • Rodear la selección con <div>.
  • Con Opción+flecha arriba o flecha abajo se sube o baja el texto seleccionado.

CSS

  • Sangría inteligente y formato mejorados.
  • Coloración mejorada.
  • IntelliSense mejorado.
  • Plegado de código.
  • Muchas plantillas de código (fragmentos de código).
  • Con Opción+flecha arriba o flecha abajo se sube o baja el texto seleccionado.

JSON

  • Selector de esquema con acceso a schemastore.org.
  • Validación desde esquema.
  • IntelliSense desde esquema.
  • Sangría inteligente y formato mejorados.
  • Coloración mejorada.
  • Comentar y quitar marca de comentario.
  • Inyección de comillas y coincidencia de llaves.
  • Con Opción+flecha arriba o flecha abajo se sube o baja el texto seleccionado.

Xamarin

La compatibilidad de primera clase con Xamarin le permite desarrollar experiencias nativas completas para Android, macOS, iOS, tvOS y watchOS. Las aplicaciones multiplataforma de Xamarin.Forms ayudan a compartir código de interfaz de usuario basado en XAML entre Android, iOS y macOS sin limitar el acceso a la funcionalidad nativa.

Esto incluye:

  • Creación, implementación, depuración y generación de perfiles.
  • Diseñadores de interfaz de usuario de arrastrar y colocar para iOS y Android.
  • Vista previa dinámica para Xamarin.Forms.
  • Marco de trabajo compatible con .NET Standard.
  • Enlaces a las API nativas.

Plantillas de aplicaciones multiplataforma

La plantillas de proyecto multiplataforma Aplicación de Xamarin.Forms y Aplicación nativa ahora le ofrecen una forma rápida de crear una aplicación móvil multiplataforma y su back-end en la nube.

Estas plantillas crean varios proyectos: un proyecto de aplicación de Xamarin.iOS y un proyecto de aplicación de Xamarin.Android que comparten código a través de un proyecto compartido, y un proyecto de API web de .NET Core que implementa un servicio de back-end para las aplicaciones (figura 1).

Debugging with .NET Core

(Figura 1) Depuración con .NET Core

Publicación de aplicaciones web de ASP.NET Core en Azure App Services

Es posible publicar aplicaciones web de ASP.NET Core en Azure App Services (Figura 2).

Publish to Azure content menu

(Figura 2) Publicar en el menú de Azure Content

Para publicar la aplicación web, seleccione el comando Publicar | Publicar en Azure desde el Panel de solución o desde el menú Proyecto. Después, seleccione el App Service en el que quiere implementar o cree un Azure App Service nuevo (Figura 3). El resultado de la publicación se registrará en un panel de salida Publicar y se creará un perfil de publicación en Propiedades > PublishProfiles en el proyecto.

Publish a new app service

(Figura 3) Publicar un nuevo App Service

Todos los perfiles de publicación definidos en el proyecto se mostrarán como opciones en el menú Publicar para que pueda implementar de nuevo sin tener que seleccionar el App Service una segunda vez.

Depuración de varios procesos

Los proyectos tienen Configuraciones de ejecución de proyecto que especifican opciones y argumentos para ejecutar el proyecto. Una lista desplegable en la barra de herramientas le permite ver y cambiar la configuración de ejecución activa actual.

La ventana Configuraciones de ejecución de la solución de Visual Studio para Mac permite iniciar varios proyectos al mismo tiempo. Se pueden crear configuraciones de ejecución de la solución en el cuadro de diálogo Opciones de la solución. Esto es muy útil para depurar cómo interactúa una aplicación móvil con su servicio de back-end.

Paquetes de TextMate

Visual Studio para Mac tiene compatibilidad con los paquetes de idioma TextMate, que se pueden usar para agregar:

  • Temas de color del editor.
  • Fragmentos de código.
  • Gramáticas para nuevos idiomas, que habilitan el resaltado e IntelliSense básico.

Se pueden agregar paquetes de TextMate en Preferencias > Editor de texto > Paquetes de idioma.

iOS

Asistente para unidades de audio

El nuevo asistente para extensiones de unidad de audio (Figura 4) agrega tres opciones para personalizar el archivo plist de la plantilla de proyecto de unidad de audio.

  • Tipo de unidad de audio
    • Instrumentos
    • Generator
    • Efecto
    • Efecto de música
  • Código de subtipo: tiene que ser exactamente de cuatro caracteres.
  • Código de fabricante: tiene que ser exactamente de cuatro caracteres.

Audio Unit Wizard

(Figura 4) Asistente para unidades de audio

Asistente para extensiones de watchOS

En Xcode 8.3, Apple ha incorporado las extensiones de watchOS (similares a las de iOS), empezando con la extensión Intents (Siri).

El asistente para extensiones de watchOS (Figura 5) se ha actualizado para admitir las extensiones de watchOS y ahora tenemos una plantilla de extensión Intents dedicada.

watchOS extension wizard

(Figura 5) Asistente para extensiones de watchOS

Otras mejoras y correcciones de errores
  • Ahora controlamos los atributos Deprecated y Obsoleted en la ventana de finalización automática. Esto permite que las API obsoletas y en desuso de Xamarin.iOS se muestren como tachadas.
  • Se muestra una barra de progreso cuando se implementa en el dispositivo. Esto es especialmente útil para watchOS. (Requiere Xamarin.iOS 10.5.0.323+).
  • Usamos versiones de sistema operativo conocidas de Xamarin.iOS para rellenar las listas desplegables de destino de implementación.
    Las dos ventajas son que se puede proporcionar la versión mínima exacta para cada tipo de extensiones de aplicación, así como evitar mostrar versiones del sistema operativo basadas en Xcode, que Xamarin.iOS no admite todavía.

Analizador de problemas de API de Mac e iOS

  • Corregir el marcador duplicado cuando se active el analizador.
  • Obtener el "mensaje" (fragmento de información en el marco de trabajo que explica por qué la API está obsoleta o en desuso) desde el atributo y adjuntar esa información a los diferentes mensajes de disponibilidad.
  • Se han actualizado todos los mensajes de disponibilidad para mejorar la claridad.
  • Se ha mejorado la claridad usando el nombre del símbolo en el mensaje de disponibilidad, que ha cambiado de:
    API Usage Issue: this API requires iOS 10.0 or later
    a:
    'MyMethod' is only available on iOS 10.0 or newer

Android

  • Nuevo SDK Manager

Visual Studio para Mac incluye su propio Android SDK Manager (Figura 6).

Android SDK Manager window

(Figura 6) Android SDK Manager

  • La implementación del proyecto en el dispositivo o emulador se realiza ahora a través del destino /t:Install de msbuild. Antes, Visual Studio para Mac usaba su propia lógica interna para implementar aplicaciones en dispositivos, pero ahora usa los mismos destinos comunes que se pueden emplear desde Terminal o que se usan en Visual Studio en Windows. Una de las ventajas que tiene es que ahora hay mejores registros disponibles para diagnosticar problemas de implementación.

  • Ahora el valor predeterminado para los nuevos proyectos de enlace es class-parse. Puede analizar código de bytes de Java directamente, no necesita una JVM. Ahora puede extraer nombres de parámetros a partir de código de bytes de Java que contenga símbolos de depuración. Por ejemplo, código de bytes compilado con javac -g. class-parse tampoco "omite" las clases que se heredan de miembros de tipos que no se pueden resolver o que los contienen.

Accesibilidad

  • Esta versión de Visual Studio para Mac es compatible con tecnologías de asistencia como Voice Over. Mediante estas tecnologías, se puede acceder a muchas partes de la interfaz de usuario, como el editor y el Explorador de soluciones. Sin embargo, aún lo estamos desarrollando, y se aplicarán más mejoras en futuras versiones. Las características de accesibilidad se pueden habilitar con las preferencias del apartado Accesibilidad o mediante la línea de comandos escribiendo lo siguiente:

    defaults write com.microsoft.visual-studio com.monodevelop.AccessibilityEnabled 1

    Principio de página