Developpez.com

Le Club des Développeurs et IT Pro

La version 15.5 de Visual Studio 2017 améliore le chargement des solutions C# et VB

Qui est désormais deux fois plus rapide qu'avant

Le 2017-11-21 12:11:52, par Michael Guilloux, Chroniqueur Actualités
Après la sortie de Visual Studio 15.4 le mois dernier, Microsoft travaille sur la 5e mise à jour de Visual Studio 2017, numérotée 15.5. Pendant que les préversions de Visual Studio 15.5 se succèdent, la firme de Redmond dévoile de nouvelles fonctionnalités, mais également des gains de performance. Dans un nouveau billet de blog, Microsoft annonce cette fois une amélioration considérable du temps de chargement des solutions C# et VB, en particulier les plus grosses solutions.

Si en moyenne, 50 % de toutes les solutions ouvertes par les utilisateurs de Visual Studio s'ouvrent en dix secondes ou moins, d’après Microsoft, la société note que le chargement de grosses solutions peut prendre beaucoup plus de temps, notamment parce qu'il y a beaucoup de projets que Visual Studio doit traiter. Au cours des six derniers mois, Microsoft a donc cherché des moyens d'accélérer le chargement des solutions ouvertes avec Visual Studio. Avec certaines optimisations effectuées dans Visual Studio 15.5, Microsoft explique aujourd’hui que son EDI charge les projets C# et Visual Basic deux fois plus vite qu'avant.

Comme l’explique l’entreprise, le chargement d'une solution dans Visual Studio est assez complexe. En effet, pour permettre aux développeurs d'être productifs, Visual Studio active diverses fonctionnalités IDE au chargement de la solution. Ces fonctionnalités nécessitent une compréhension approfondie des projets, des fichiers de projet et des dépendances. Pour cela, Visual Studio lance une génération au moment du design (design-time build) pendant le chargement de la solution ; une opération qui peut toutefois être coûteuse. Il faut également noter qu’auparavant, le chargement de solutions avec Visual Studio ne tirait pas parti des gains de performances offerts par les machines multicœurs.

Pour réduire le temps de chargement pour les solutions C# et VB, Visual Studio démarre maintenant les générations au moment du design dès que possible. Il fait également un batch des opérations de génération au moment du design pour tous les projets de la solution et exécute ces opérations de génération en parallèle avec d'autres opérations de chargement de la solution.


Pour réduire le temps de chargement, Microsoft dit également avoir amélioré l'analyse des références. La plupart des projets C# et Visual Basic ont en effet des références à des assemblys. Et pour vous permettre de travailler avec les références de projet, Visual Studio doit lire des informations sur ces assemblys, telles que la version et la description de l'assembly. Ces lectures simples peuvent prolonger de plusieurs secondes le chargement d'une grosse solution, car les solutions ont souvent des milliers de références assemblys dans tous leurs projets. Mais étant donné que de nombreux projets ont souvent le même ensemble de références, Microsoft a réduit davantage le temps de chargement de la solution en ajoutant en mémoire un cache de « références » qui est partagé entre tous les projets dans une solution.

Bien qu'une grande partie du chargement d'une solution soit automatique, Microsoft affirme que certaines parties du processus sont sous le contrôle des développeurs. L'extension Project System Tools peut par exemple les aider à identifier les projets et les cibles qui ralentissent la génération au moment du design pendant le chargement de la solution. Une fois les cibles inutiles identifiées, les développeurs pourront éditer leurs fichiers de projet pour les supprimer du design-time build. Comme autre astuce pour rendre le chargement d'une solution encore plus rapide, il est également fortement recommandé d'envisager une mise à niveau vers un SSD si vous utilisez un disque dur standard. La télémétrie de Visual Studio montre en effet que les machines avec un stockage SSD chargent les solutions deux à trois fois plus rapidement que celles avec un disque dur standard.

Source : Blog Visual Studio

Et vous ?

Que pensez-vous de cette amélioration du chargement des solutions C# et VB et des recommandations de Microsoft ?

Voir aussi :

Visual Studio 2017 va permettre de compiler pour les plateformes matérielles ARM, fonctionnalité à découvrir via le deuxième aperçu de la version 15.5
  Discussion forum
199 commentaires
  • Chauve souris
    Membre expert
    Moi je suis à la version 15.4.4 et je n'ai pas de drapeau m'indiquant la disponibilité téléchargeable de la MAJ 15.5.
  • dorian833
    Membre averti
    Envoyé par rdh123
    j'ai téléchargé pour plus de 7Go à l'aide de cette commande que j'ai trouvé sur le net (rien à perdre) :

    vs_community.exe --layout D:\vs2017com --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Data --add Microsoft.VisualStudio.Workload.CoreEditor --add Component.GitHub.VisualStudio --includeOptional --lang en-US

    avant de créer l'image iso et installer question :

    1-j'ai bien wpf.
    2-ide en anglais mais je peut créer une application fr.
    3-c'est pourquoi pas juste Microsoft.VisualStudio.Workload.NativeDesktop ?
    4-c'est quoi le reste des composants.
    5-si je veux enrichir mon iso (avant de le créer) je rajoute quoi?
    Voici quelques réponses si elles t'aident :
    1. Oui, car inclus dans le workload Microsoft.VisualStudio.Workload.ManagedDesktop,
    2. Oui, la langue de l'IDE n'impacte pas la langue de l'application créée. Je travail quotidiennement sur un VS en anglais pour développer des logiciels en français
    3. Car le workload Microsoft.VisualStudio.Workload.NativeDesktop, c'est pour pour développer des applications en C++,
    4. La liste est assez copieuse, voir le lien ci-dessous
    5. Ça dépend de tes besoins.


    Voici un lien de la doc FR qui détaille les workloads et composants :
    https://docs.microsoft.com/fr-fr/vis...d-vs-community
  • beekeep
    Rédacteur/Modérateur
    Envoyé par Stéphane le calme
    Microsoft a ajouté le raccourci Ctrl+D pour Edit.Duplicate dans le schéma de configuration du clavier par défaut.
  • tomlev
    Rédacteur/Modérateur
    Envoyé par Jacques(BE)
    Bonjour,

    Depuis la naissance de Visual Studio aucune améliorations ou nouveautés à propos des contrôles. MS serait-il à court d'idées ??
    Navette, DataGrid, Chart Report, affichage de document, calendrier...!!
    Désolant
    Ils ne sont pas à court d'idées, ils ont juste d'autres priorités... De plus, faire des contrôles, ce n'est pas leur cœur de métier. Il y a des entreprises qui en ont fait leur spécialité (Telerik, DevExpress, SyncFusion, etc.); MS se concentre sur fournir un framework sur lequel on peut construire d'autres choses, ils n'ont pas vocation à fournir une suite exhaustive de composants et contrôles.
  • Corobori
    Membre à l'essai
    Si je pouvais avoir une machine à remonter dans le temps ....j'attendrai un peu ! En effet j'ai installé cette version et depuis impossible d'exécuter mes projets (je développe des sites web en ASP.NET) J'ai envoyé un message sur le "Developer Community" forum en espérant avoir une réponse.

    Heureusement j'ai un note de secours qui lui est avec la version 15.4 et qui me permet de travailler.
  • tomlev
    Rédacteur/Modérateur
    Il est maintenant possible de télécharger tous les fichiers avant de commencer l'installation du logiciel et accélérer son chargement en désactivant la restauration automatique des documents.
    J'ai l'impression que la 2e partie de la phrase va plutôt avec le paragraphe suivant...
    Sinon, pour la 1ere partie de la phrase : enfin ! Je ne maintenait pas toujours mon VS à jour à cause de ça, parce que je ne pouvais pas travailler pendant le téléchargement de la mise à jour.
  • Delaney
    Membre averti
    Personnellement, les deux premières (multicaret et ligne en double) et la dernière (aller au dernier emplacement modifié) m'intéresse plus particulièrement.

    Mais toutes sont importantes et puis pour une fois que des modifs implantées par microsoft sont issues des demande utilisateurs, il faut pas bouder son plaisir
  • Beowulf59
    Membre actif
    Le problème avec VS, c'est que même une feuille A4 ne suffit pas pour tout les raccourcis claviers, il y en a tellement à apprendre, il faut prendre ce qui nous intéresse et bien les mémoriser. D'autant plus que du temps où il y avait une différence entre VS C# Edition VS VB Edition les raccourcis claviers n'étaient pas les mêmes, si on ajoute encore Resharper dans le lot...
  • kilroyFR
    Membre éprouvé
    Voila qui est une vraie fonctionnalité et un gain de productivité appréciable (pour une fois que ce n'est pas un redesign de GUI)
  • rdh123
    Membre régulier
    je suis étonné par la difficulté avec laquelle Microsoft nous propose de créer une image ISO, passer par un ligne de commande avec des "--add" de composants qui ne me semblent pas claire.

    ici : https://docs.microsoft.com/en-us/vis...d-vs-community

    des dizaines de composants plus au moins regroupés avec à la fin d'autre non affiliés (Unaffiliated components).

    je souhaite faire du : c# ,WPF, Office : pour cela quels composant prendre et les quels exclure si en plus je veut le faire en langue US mais pouvoir produire un software pour utilisateur francophone ...quelle ligne de commande , si par contre je suis intéressé par Unity ou XAMARIN .. il faut une autre ligne de commande.

    Visual Studio community 2017 c'est 35 Go? alors il faut choisir et peut être télécharger chaque fois un groupe (exemple XAMARIN le mois prochain...).