Visual Studio 2017 pour Mac

Last Update: 09/10/2017

Communauté de développeurs | Configuration requise | Compatibilité | Code distribuable | Xamarin | Blogs | Maintenance


Cet article contient des informations sur la version release la plus récente de Visual Studio 2017 version 7.1.

Utilisez Visual Studio 2017 pour Mac afin de créer des applications mobiles, web et cloud avec Xamarin et .NET Core, ainsi que des jeux avec Unity.

<img src="media/download-vs-mac-btn.png"alt="Téléchargez Visual Studio 2017 pour Mac">

Pour en savoir plus sur les autres téléchargements associés, consultez la page Téléchargements. Pour en savoir plus sur Visual Studio 2017 pour Mac, consultez Configuration système requise pour Mac et Ciblage et compatibilité pour la plateforme Mac.

Commentaires

Nous aimerions connaître votre opinion ! Vous pouvez signaler un problème par le biais de l’option Signaler un problème dans le programme d’installation ou dans l’IDE Visual Studio. Cette option se trouve dans le coin supérieur droit. Vous pouvez effectuer le suivi de vos commentaires dans le portail de la communauté des développeurs. Faites-nous part de vos suggestions par le biais du site UserVoice.

Date de publication : 14 août 2017 - Visual Studio pour Mac 7.1.0.1297

Cette version release est axée sur les correctifs de bogues et présente les nouvelles fonctionnalités suivantes :

  • Prise en charge de la création d’applications avec .NET Core 2.0
  • Mises à jour du flux de travail de signature iOS

Prise en charge de .NET Core 2

Visual Studio pour Mac prend en charge la génération d’applications .NET Core 2.0, notamment les bibliothèques, les applications console, ainsi que les applications web et services avec ASP.NET Core.

Notez que vous devez installer le SDK .NET Core 2.0 en le téléchargeant à part pour permettre le développement .NET Core 2.0 dans Visual Studio 2017 pour Mac version 7.1. Vous pouvez l’obtenir à l’adresse www.dot.net/core. Visual Studio permet la prise en charge côte à côte de plusieurs SDK .NET Core. Cela signifie également que vous pouvez faire des essais avec la dernière build quotidienne du SDK .NET Core tout en développant du code avec les dernières versions release publiques.

Mises à jour du flux de travail de signature iOS

Cette version release introduit la possibilité de créer des artefacts de signature nécessaires pour les applications iOS et tvOS. Avec Visual Studio pour Mac, vous pouvez effectuer les opérations suivantes :

  • Créer des identités de signatures et les installer dans le trousseau local
  • Créer des profils d’approvisionnement
  • Ajouter une nouvelle identité de signature à un profil existant
  • Approvisionner de nouveaux appareils : inscrire un appareil sur le portail des développeurs Apple et l’ajouter à un profil d’approvisionnement

Pour essayer ces nouvelles fonctionnalités de signature, cliquez avec le bouton droit sur votre projet et accédez à Options > Signature du bundle iOS.

Utilisation de la section Identité de signature

Avant de procéder à la signature, vous devez satisfaire aux critères suivants :

  • Un certificat valide (non révoqué) s’affiche sur le portail des développeurs Apple dans la section « Certificats ».
  • Le certificat est émis pour l’équipe/développeur sélectionné.
  • Le certificat et la clé privée doivent être installés dans votre trousseau local.
  • Le certificat ne doit pas avoir expiré.

Utilisez l’option Créer une identité de signature... de la liste déroulante si aucune identité n’est disponible sur votre machine.

Utilisation de la section Profil d’approvisionnement

Pour pouvoir apparaître dans la liste déroulante « Profil d’approvisionnement », le profil doit satisfaire aux critères suivants :

  • Ne pas avoir expiré.
  • Être valide (inclure les appareils inscrits et les certificats valides).
  • Correspondre au type de distribution actuel (Debug ou Release, en fonction des commutateurs en haut).
  • Correspondre à l’identificateur du bundle. Les profils génériques avec un modèle correspondant sont également affichés dans cette liste.

Utilisez l’élément Créer un profil d’approvisionnement... de la liste déroulante si aucun profil n’a été trouvé.

Si vous devez revenir à la version précédente des contrôles de signature et définir le profil d’approvisionnement et l’identité de signature manuellement, définissez l’équipe sur Aucune. Les nouveaux contrôles de signature sont alors remplacés par les anciens. Toutefois, nous vous invitons vivement à essayer les nouvelles fonctionnalités et à nous faire part de vos commentaires en cas de problème.

Limitations :

  • Les profils d’approvisionnement créés dans Visual Studio pour Mac ne prennent pas en compte les droits sélectionnés dans vos projets (Entitlements.plist). Cette fonctionnalité sera ajoutée dans les futures versions de l’IDE.
  • Par défaut, les profils d’approvisionnement de distribution ciblent l’App Store. Vous devez créer les profils internes ou ad hoc manuellement.

Correctifs de cette version release

Android SDK Manager

  • Android SDK Manager est maintenant intégré à Visual Studio Preferences ; ce n’est plus une application externe.
  • Problème résolu : Android SDK Manager affiche l’état du composant incorrect après une installation abandonnée.
  • Problème résolu : Le kit Android SDK est installé, mais il n’est pas sélectionné si la mise à jour est disponible, ce qui peut entraîner la désinstallation du composant.
  • Problème résolu : l’emplacement d’Android SDK par défaut n’est pas enregistré si aucune modification n’a été apportée au composant du SDK.

Amélioration des performances

  • Amélioration des performances pour l’ouverture d’un document, son rendu et la saisie dans celui-ci
  • Optimisation du travail en arrière-plan effectué pendant la saisie
  • Amélioration du temps de chargement lié à l’ouverture d’une solution
  • Optimisation du chargement des résultats de la barre de recherche
  • Optimisation d’un grand nombre de règles d’analyse du code source
  • Optimisation du code de bas niveau du travail de l’interface utilisateur
  • Résolution des problèmes engendrant une augmentation progressive de l’utilisation de la mémoire de l’IDE
  • Optimisation de la complétion du code, des indicateurs de paramètres de la mise en surbrillance sémantique
  • Optimisation du développement des dossiers dans le panneau Solutions, notamment dans le cas des dossiers contenant des centaines d’éléments
  • Optimisation du temps de démarrage de l’IDE pour la première exécution et les suivantes
  • En règle générale, optimisation de l’utilisation du processeur et du trafic lié à la mémoire pour utiliser l’IDE

Autres améliorations

  • Amélioration : Nous avons mis à jour le service d’identité pour une utilisation sur les systèmes situés derrière un proxy, ce qui permet d’obtenir les détails d’authentification à partir du trousseau ou d’une invite. Si vous avez connu des problèmes de connexion, réessayez et faites-nous part de vos commentaires pour que nous continuions à améliorer la prise en charge des proxys.
  • Problème résolu : L’option de priorité de contrainte indique 0 dans le panneau Propriétés ; ne peut pas être définie à partir de la fenêtre contextuelle Concepteur.
  • Problème résolu : Ajout de la possibilité de spécifier la plateforme cible pour les projets F#.
  • Problème résolu : Problème où le code des espaces de noms inutilisés ne gérait pas correctement les espaces de noms Fsharp.Core.
  • Problème résolu : De nombreuses boîtes de dialogue/chaînes « Nouveau fichier » ne sont pas non localisées.
  • Problème résolu : Les boîtes de dialogue « Nouvelle solution » ne sont pas localisées.
  • Problème résolu : Le texte est tronqué dans la boîte de dialogue « Configurer votre nouvelle application d’affichage simple ».
  • Problème résolu : L’info-bulle de l’Assistant Nuget montre la référence de caractère xml « ' ».
  • Problème résolu : L’info-bulle du programme de mise à jour est vide quand des mises à jour sont interrompues.
  • Problème résolu : La mise à jour du dépôt git sur VSTS échoue avec l’erreur « nom d’utilisateur ou mot de passe null ».
  • Problème résolu : La refactorisation pour le scénario « nameof » à la première utilisation est incorrecte.
  • Problème résolu : La page d’accueil perd systématiquement mon projet récent quand il existe de nombreux projets récents.
  • Problème résolu : Erreur de Build iOS si l’application conteneur a des builds spécifiques à l’appareil activées, alors que ce n’est pas le cas pour l’extension.
  • Problème résolu : La mise en surbrillance de la syntaxe n’est pas présente avec l’interpolation de chaîne C#6 pour les variables locales.
  • Problème résolu : Dans certains cas, les utilisateurs ne peuvent pas lancer Xamarin Inspector.
  • Problème résolu : Affichage d’avertissements durant la génération de l’application native (et iOS) en mode Release.
  • Problème résolu : La bibliothèque de classes .NET Core cible .NET Standard au lieu de netcoreapp.
  • Problème résolu : L’IDE se bloque quand une image (.png ou .jpg) est ajoutée à un Storyboard iOS.
  • Problème résolu : L’ajout de tous les packages de Google Play Services échoue avec l’erreur « System.AggregateException : Une ou plusieurs erreurs se sont produites. ---> System.ArgumentNullException: Valeur null non autorisée. Nom du paramètre : packageIdentity.Version »
  • Problème résolu : Le sous-menu Correctif rapide accessible avec le bouton droit de la souris se bloque sur « Chargement en cours... ».
  • Problème résolu : L’Explorateur de fichiers n’affiche pas l’emplacement du SDK quand vous cliquez sur l’option d’explorateur de fichiers « ... » sous l’onglet Emplacements d’Android SDK Manager.
  • Problème résolu : Les projets .NET Core F# ne se compilent pas.
  • Problème résolu : La connexion au compte MS vous invite à entrer des informations d’identification pour accéder au serveur proxy graph.windows.net.
  • Problème résolu : Interblocage dans « Rechercher des références » et « Rechercher les types dérivés » pour certains projets F#.
  • Problème résolu : Exception de référence Null durant la tentative d’ajout d’un nouveau compte iOS dans Visual Studio pour Mac.
  • Problème résolu : L’ajout d’un projet .NET Standard à une solution/structure de répertoire existante réécrit/reformate tout le code source sur le disque.
  • Il n’est plus nécessaire que soit installée une version spécifique de .NET Core (Preview 2) pour utiliser .NET Core 2.0. Les préversions ultérieures et .NET Core RTW sont désormais pris en charge.

Date de publication : 02 juin 2017 - Visual Studio pour Mac 7.0.1.24

Cette version résout un certain nombre de bogues et fuites de mémoire.

Android SDK Manager

  • Résolu : La licence SDK ne s’affiche pas correctement.
  • Résolu : L’étiquette du bouton Annuler ne redevient pas Installer les mises à jour.
  • Résolu : La désinstallation de la dernière version des outils SDK désinstalle tous les outils SDK.
  • Résolu : Possibilité de modifier les composants pendant l’application des mises à jour.
  • Résolu : Impossible d’utiliser les outils SDK téléchargés à partir du programme d’installation autonome en raison de problèmes d’autorisation.
  • Résolu : Impossible d’installer un composant précédemment supprimé.
  • Résolu : Les Outils SDK 25.2.5 ne parviennent pas à s’installer.

Autres problèmes

  • Résolu : Problème de restauration des documents quand les fenêtres de document sont côte à côte.
  • Résolu : Le nom « InitializeComponent » n’existe pas dans le contexte actuel avec la bibliothèque portable de formats .NETStandard/nouveau csproj.
  • Résolu : Le déploiement Android échoue silencieusement en mode Mise en production.
  • Résolu : Le correctif rapide n’a aucun effet.
  • Résolu : La suppression d’une référence dans la boîte de dialogue Modifier les références ne fonctionne pas.
  • Résolu : Le téléchargement de l’application iOS Forms PCL dans le cloud de test échoue à l’étape de génération avec le message « Erreur MSBuild inconnue ».
  • Résolu : Impossible d’inspecter les variables dans les applications .Net Core.
  • Résolu : Les commandes de débogage F# s’affichent dans tous les fichiers.
  • Résolu : Le modèle de formulaire F# Xamarin ne restaure pas les packages.
  • Résolu : La pile des appels disparaît quand une sélection de thread est effectuée pendant le débogage d’une application .NET Core.
  • Résolu : En maintenant les touches Maj et flèche bas enfoncées, la sélection de texte se poursuit au-delà de la fenêtre d’affichage.
  • Résolu : Blocage de l’interface utilisateur lors de la restauration des packages.
  • Résolu : L’éditeur n’affiche pas l’ensemble du texte.
  • Résolu : Problème de commande d’ouverture de fichier après le chargement de la solution lors de l’utilisation d’événements Apple pour ouvrir les fichiers.
  • Résolu : Le renommage d’un fichier pour qu’il corresponde au nom de la classe supprime le fichier.
  • Résolu : L’exécution du gestionnaire FooButton_Clicked ne génère pas de stub de méthode.
  • Résolu : Le fractionnement de l’écran entraîne la désactivation des éléments de menu.

Nouveautés dans Visual Studio pour Mac

Fonctionnalité de base

Visual Studio pour Mac offre tout ce que vous pouvez attendre d’une interface IDE moderne, notamment un éditeur de code source complet, des fonctionnalités de recherche et de navigation dans le code, un débogueur puissant, un espace de travail personnalisable, une intégration de Git et un système d’extension riche.

Parmi les autres fonctionnalités disponibles figurent :

  • IntelliSense, refactorisation, analyseurs et correctifs de code C# basés sur Roslyn.
  • Gestion de packages NuGet.
  • Format de projet compatible avec Visual Studio.
  • Moteur de génération MSbuild.
  • Test unitaire intégré.
  • Prise en charge de F# prête à l’emploi.

Prise en charge de .NET Core

.NET Core est une plateforme de création d’applications que vous pouvez exécuter sur Windows, Linux et Mac. Visual Studio pour Mac prend en charge le chargement, la création, l’exécution et le débogage de projets .NET Core.

Pour pouvoir exécuter des projets .NET Core, le SDK .NET Core doit être téléchargé et installé.

La prise en charge de .NET Core inclut :

  • IntelliSense C# et F#.
  • Modèles de projet .NET Core pour applications console, bibliothèque et web.
  • Prise en charge complète du débogage, notamment des points d’arrêt, de la pile d’appels, de la fenêtre Espion, etc.
  • NuGet PackageReferences et restauration MSBuild.
  • Prise en charge du test unitaire intégré pour l’exécution et le débogage de tests avec la plateforme de test Visual Studio fournie avec le SDK .NET Core.
  • Migration de l’ancien format project.json.

Outils web

Visual Studio pour Mac ajoute la prise en charge des nouveaux outils web pour les fichiers HTML, CSS et JSON.

HTML

  • Nouveau modèle HTML.
  • Amélioration du retrait intelligent et de la mise en forme.
  • Amélioration de la colorisation.
  • Amélioration d’IntelliSense.
  • Pliage de code (doit être activé).
  • Commande Unminify.
  • Amélioration des modèles de code (extraits).
  • Entourer la sélection avec <div>.
  • Option haut/bas déplaçant le texte vers le haut/bas.

CSS

  • Amélioration du retrait intelligent et de la mise en forme.
  • Amélioration de la colorisation.
  • Amélioration d’IntelliSense.
  • Pliage de code.
  • Divers modèles de code (extraits).
  • Option haut/bas déplaçant le texte vers le haut/bas.

JSON

  • Sélecteur de schéma avec accès à schemastore.org.
  • Validation à partir du schéma.
  • IntelliSense à partir du schéma.
  • Amélioration du retrait intelligent et de la mise en forme.
  • Amélioration de la colorisation.
  • Création/suppression de marques de commentaire.
  • Injection de guillemets et correspondance d’accolade.
  • Option haut/bas déplaçant le texte vers le haut/bas.

Xamarin

La prise en charge poussée de Xamarin permet de développer des expériences natives riches pour Android, macOS, iOS, tvOS et watchOS. Les applications multiplateformes Xamarin.Forms permettent de partager le code d’interface utilisateur XAML entre Android, iOS et macOS sans limiter l’accès aux fonctionnalités natives.

Cela concerne :

  • La génération, le déploiement, le débogage et le profilage.
  • Les concepteurs d’interface utilisateur glisser-déplacer pour iOS et Android.
  • L’aperçu instantané pour les formulaires Xamarin.
  • Le framework compatible avec .NET Standard.
  • Les liaisons avec les API natives.

Modèles d’application multiplateforme

Les modèles de projet multiplateforme Application Xamarin.Forms et Application native vous offrent un moyen rapide de créer une application mobile multiplateforme et son back-end cloud.

Ces modèles permettent de créer divers projets : un projet d’application Xamarin.iOS et un projet d’application Xamarin.Android qui partagent le code via un projet partagé, ainsi qu’un projet d’API web .NET Core qui implémente un service back-end pour les applications (Figure 1).

Debugging with .NET Core

(Figure 1) Débogage avec .NET Core

Publication d’applications web ASP.NET Core dans Azure App Services

Il est possible de publier les applications web ASP.NET Core dans Azure App Services (Figure 2).

Publish to Azure content menu

(Figure 2) Menu Publier sur Azure

Pour publier une application web, sélectionnez la commande Publier | Publier sur Azure à partir du Panneau Solutions ou du menu Projet. Choisissez ensuite l’App Service que vous voulez déployer ou créez un nouveau Azure App Service (Figure 3). Le résultat de la publication est alors consigné dans un bloc de sortie de publication et un profil de publication est créé sous Propriétés > Profils de publication dans le projet.

Publish a new app service

(Figure 3) Publier un nouvel App Service

Tous les profils de publication définis dans le projet s’affichent en tant qu’options dans le menu Publier. Vous pouvez ainsi redéployer sans avoir à sélectionner une deuxième fois l’App Service.

Débogage multiprocessus

Les projets sont assortis de Configurations d’exécution du projet qui spécifient les options et les arguments d’exécution de votre projet. Dans la barre d’outils figure un menu déroulant qui permet d’examiner et de modifier la configuration d’exécution active.

La fenêtre Configurations d’exécution de la solution de Visual Studio pour Mac autorise le lancement de plusieurs projets à la fois. Vous pouvez créer des configurations d’exécution de solution dans la boîte de dialogue Options de solution. Il s’agit d’un moyen très pratique pour déboguer l’interaction d’une application mobile avec son service back-end.

Bundles TextMate

Visual Studio pour Mac prend en charge les bundles de langage TextMate, qui permettent d’ajouter les éléments suivants :

  • Thèmes de couleurs de l’éditeur.
  • Extraits de code.
  • Grammaires de nouveaux langages, ce qui active la mise en surbrillance et les fonctionnalités IntelliSense de base.

Vous pouvez ajouter des bundles TextMate dans Préférences > Éditeur de texte > Bundles de langage.

iOS

Assistant Audio Unit

L’Assistant Extension Audio Unit (Figure 4) ajoute 3 options pour personnaliser le fichier plist du modèle de projet Audio Unit.

  • Type Audio Unit
    • Instruments
    • Générateur
    • Effet
    • Effet musical
  • Code du sous-type : doit comporter 4 caractères exactement.
  • Code du fabricant : doit comporter 4 caractères exactement.

Audio Unit Wizard

(Figure 4) Assistant Audio Unit

Assistant Extension watchOS

Dans Xcode 8.3, Apple a introduit des extensions watchOS (similaires à celles d’iOS), à commencer par l’extension Intents (Siri).

L’Assistant Extension watchOS Figure 5 ayant été mis à jour pour prendre en charge les extensions watchOS, nous proposons désormais un modèle d’extension Intents dédié.

watchOS extension wizard

(Figure 5) Assistant Extension watchOS

Autres améliorations et correctifs de bogues
  • Nous gérons désormais les attributs Deprecated et Obsoleted dans la fenêtre de saisie semi-automatique. Les API obsolètes et dépréciées de Xamarin.iOS apparaissent ainsi barrées.
  • Nous affichons une barre de progression pendant le déploiement sur un appareil. Cela est particulièrement utile pour watchOS. (Nécessite Xamarin.iOS 10.5.0.323+) .
  • Nous utilisons les versions de système d’exploitation connues de Xamarin.iOS pour remplir les listes déroulantes des cibles de déploiement.
    L’avantage est double : nous pouvons d’une part vous indiquer la version minimale exacte de chaque type d’extension d’application et d’autre part éviter l’affichage des versions de système d’exploitation, basées sur Xcode, que Xamarin.iOS ne prend pas encore en charge.

Analyseur de problèmes d’API Mac/iOS

  • Corrige le marqueur en double au moment où l’analyseur est déclenché.
  • Obtient le « message » (élément d’information dans le framework expliquant pourquoi l’API est dépréciée/obsolète) de l’attribut et ajoute ces informations aux différents messages sur la disponibilité.
  • Messages sur la disponibilité mis à jour dans leur intégralité dans un souci de clarté.
  • Clarté améliorée grâce à l’utilisation du nom du symbole dans le message sur la disponibilité, passant de :
    API Usage Issue: this API requires iOS 10.0 or later
    à :
    'MyMethod' is only available on iOS 10.0 or newer

Android

  • Nouveau SDK Manager

Visual Studio pour Mac inclut son propre gestionnaire de SDK Android (Figure 6).

Android SDK Manager window

(Figure 6) Android SDK Manager

  • Le déploiement de votre projet sur un appareil ou un émulateur s’effectue désormais via la cible msbuild /t:Install. Si Visual Studio pour Mac déployait les applications sur les appareils selon sa propre logique interne, il utilise à présent les cibles courantes que vous pouvez utiliser à partir de Terminal Server ou celles employées dans Visual Studio sur Windows. L’avantage est que les journaux désormais disponibles permettent de mieux diagnostiquer les problèmes de déploiement.

  • class-parse est désormais l’option par défaut pour les nouveaux projets de liaison, ce qui vous permet d’analyser directement le bytecode Java sans JVM. Vous pouvez désormais extraire les noms des paramètres du bytecode Java qui contient des symboles de débogage (par exemple, le bytecode compilé avec javac -g). class-parse n’ignore pas les classes qui héritent de membres de types qui ne peuvent pas être résolus ou qui en contiennent.

Accessibilité

  • Cette version de Visual Studio pour Mac intègre une prise en charge des technologies d’assistance telles que le doublage. De nombreux éléments de l’interface utilisateur, comme l’éditeur et l’Explorateur de solutions, sont accessibles par le biais de ces technologies. Toutefois, le travail n’est pas terminé et d’autres améliorations seront apportées dans les futures versions. Les fonctionnalités d’accessibilité peuvent être activées dans les préférences d’accessibilité ou au moyen de la ligne de commande en entrant :

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

    Haut de page