Affichage des articles dont le libellé est Visual Studio 2017 Community. Afficher tous les articles
Affichage des articles dont le libellé est Visual Studio 2017 Community. Afficher tous les articles

Le cache de composants Visual Studio est obsolète - Redémarrez Visual Studio

Visual Studio erreur d'installation, le cache des composants est obsolète ? Que faire ? Alors que cela fonctionnait parfaitement ce matin je souhaite créer un nouveau projet Visual Studio. J'aimerais créer un "Nouveau Projet" ASP.NET Core, je choisie les options pour cela et là c'est le crache :


Le cache de composants Visual Studio est obsolète
Le cache de composants Visual Studio est obsolète
L'assembly Microsoft.VisualStudio.Web.MicrosoftAzure.AzureFunctions Version 15.0.0.0 est obsolète ...

Voyez-vous ça, c'est la catastrophe ! J'essaye de créer un autre type de projet Idem Visual Studio CRASH !

Je lis la littérature sur le sujet :.

Mettre à jour une installation réseau de Visual Studio

Résolution des problèmes d’installation et de mise à niveau de Visual Studio 2017

C'est quoi tout ce merdier ? Vous vous rendez compte si vous avez en plus à ce moment là vous avez un problème de Windows Update cela vous donne une sacrée envie de tout foutre à la poubelle et d'installer une distribution Linux Ubuntu ;-)

Pour ma part, je suis en train de tenter une Réparation de mon installation Visual Studio 2017 ... Dans l'installeur de Visual Studio 2017 j'ai cliqué sur Réparer :

Visual Studio Installer - Réparer
Visual Studio Installer - Réparer
Le processus de réparation se déroule :


Visual Studio 2017 15.7.5
Installer de Visual Studio 2017 15.7.5
Quand à la fin : Installation terminée avec des Avertissements ! En voilà encore une autre ...

Installer de Visual Studio 2017 15.7.5
Installer de Visual Studio 2017 15.7.5 - Avec des Avertissements !
Je clique sur Afficher les problèmes ...

Installer de Visual Studio 2017 15.7.5 Error Microsoft.NET.4.6.FullRedist.NonThreshold
Installer de Visual Studio 2017 15.7.5 Error Microsoft.NET.4.6.FullRedist.NonThreshold
Nous voilà bien ...

J'en étais sûr, depuis un moment déjà que je travaille avec Visual Studio 2017 Community, c'est à dire une version gratuite, je me disais que cela n'allait pas durer tout semblait fonctionner mais c'était trop beau pour être vrai.

Cela fait penser aux pires heures de Microsoft où il faisait perdre du temps volontairement aux gens qui n'achetait pas les modules de formation Microsoft Certified ... Si si vous vous rappelez ?

Not fun !!!

Vous pouvez cliquer sur les liens, il y des trucs en chinois ! Un lien c'est la résolution des problèmes que l'on a vu plus haut et le dernier lien pointe dans le journal :


dd_setup_20180730162653_004_Microsoft.Net.4.6.FullRedist.NonThreshold.log
dd_setup_20180730162653_004_Microsoft.Net.4.6.FullRedist.NonThreshold.log
Avec ça vais-je y arriver ?

... Oui je peux à nouveau créer un Projet ASP.NET Core :

My First Application ASP.NET Core
My First Application ASP.NET Core
Mais l'installation de la version 15.7.5 reste avec un avertissement ...

Et cette histoire de cache de composants obsolètes

Oui, souvenons nous, au tout début avant la réparation, il y a ce premier message ... En lançant l'installeur à nouveau et en me déplaçant dans l'onglet Emplacements d'installation, je vois une rubrique Cache de téléchargement et une case à cocher : Conserver le cache de téléchargement après l'installation.
Visual Studio Installeur
Visual Studio Installeur - Emplacements d'installation - Conserver le cache de téléchargement après l'installation
Peut être faudrait-il supprimer ce cache et recommencer une réparation ... j'ai pas le temps mais à voir.
Not fun !!! No At All !!!

Où en est-on avec Visual Studio 2017 et la Mise à jour 15.4.0 ?

Qu'est ce qu'il y a de nouveau dans Visual Studio 2017 ? Comment découvrir tout cela dans la version gratuite, la version Community. Et bien avant tout c'est l'heure de la mise à jour 15.4.0 !

Oui je sais, on est bientôt en 2018 mais j'ai installé Visual Studio 2017, il y a un moment déjà et je l'ai laissé un peu tombé. J'ai surtout travaillé avec la version Visual Studio 2015 professionnelle (pro donc plus de possibilités). Avec VS 2015 j'ai essayé de travailler pour iOS et Android sans trop de résultats, pas facile des simulateurs trop gourmands, le debug ne se lançait jamais une vrai galère.

Par contre pour ASP.NET MVC4 Visual Studio 2015 est parfait.

Je relance Visual Studio 2017 et voilà, déjà une mise à jour à faire ...


Visual Studio 2017 mise à jour version 15.4.0
Je n'ai pas encore utilisé Visual Studio 2017 qu'il me faut déjà le mettre à jour ... Que vais-je faire pendant ce temps ? Je clique sur Mise à jour et pof :

Visual Studio 2017 mise à jour 15.4.0 - Form Intéressante
Voici une Form intéressante ;) elle est inutile tout au moins ... J'adore ça, c'est vraiment intéressant, on ne perd pas son temps.


Et ça continue ...



Qu'est ce que tu veux que cela me foute, est-ce que j'ai le choix de toutes les façons ? ... Elles sont bien bonnes ces questions pour le moins hypocrites.

Et pendant ce temps on me propose d'apprendre, et bien pourquoi pas.

https://www.visualstudio.com/vs/getting-started/

Je vois que l'on peut apprendre avec Xamarin.


Essayons de télécharger un exemple avec Xamarin ...


Je clique sur le bouton "Download".
Je regarde ce que j'ai dans mon projet :


Pas mal, pas mal du tout, j'ai maintenant une structure que je connais bien avec trois parties. Une partie commune Todo, une partie du projet pour iOS et une partie pour Android.

Ca m'étonnerait que cela fonctionne avec ma version Visual Studio 2017 Community ...
En tous cas j'ouvre le .sln avec mon éditeur favori et je trouve :

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1

Voilà que l'installe de la mise à jour de Visual Studio 2017 Community avec 15.4.0 est terminée. Je tente alors d'ouvrir le .sln :


Bas tient tu m'étonnes ! Je comprends cette façon de faire il n'y a aucune maîtrise le truc se plante lamentablement et après t'as un message d'erreur !

Et les insultes continuent de pleuvoir ... Maintenant il me faudrait Windows 10.

Installer le SDK Windows 10 pour la plateforme Universelle

Probablement que le projet UWP c'est un Windows Phone et qu'il faut le SDK correspondant. Je me demande si je vais pouvoir l'installer sur ma machine de développement actuelle qui est Windows 7

Et le rapport  de traduction de la solution :


Et bien on ne va pouvoir faire grand chose avec tout ça !

Conclusion sur la mise à jour 15.4.0

Pour vous dire que je ne trouve pas tout cela très confortable, toutes ces versions de Visual Studio toutes ces plateformes cibles, c'est un vrai gros bordel. C'est d'autant n'importe quoi que cela ne fonctionne pas. Ils auraient mieux fait de dire carrément les choses le développement Xamarin ne peut pas s'effectuer sous Windows 7.

Installation du SDK pour Windows la plateforme universelle

Installation du SDK Windows 10, je reprends plus haut je clique sur "Installer" et ça redémarre " encore et encore ...

Voici ce que VS me propose d'installer :


Et c'est reparti pour un tour ...



Puis je vois passer :  Microsoft.Net.CoreUWP


Tient tient ... En tous cas j'annule l'installation, j'ai autre chose à faire ... Je lance Visual Studio et là c'est le drame :


Ah merde ! Il va falloir réexécuter Visual Studio Installer.

Je vais aller à la plage ... ras le bol de toute cette daube.

Reprenons ... j'ai relancé l'installeur qui à fini par se terminer par un redémarrage.


Technique bien connu pour fixer les idéees de ce que j'ai installé et de la version avec laquelle je travail. Je créé une solution vide je regarde dedans :

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2002
MinimumVisualStudioVersion = 10.0.40219.1


Et pourtant :


C'est bien la version 15.4.0 ...

Conclusion

Pour savoir où l'on en est exactement faisons la même chose que pour Visual Studio 2015 Community et allons voir un peu les templates de projets.

A comparer avec VS 2015 Community Ici.

Fichier -> Nouveu -> Projet :

Visual Studio 2017 Community - ASP.NET Core pour Windows Linux et mac OS 
Impressionnant sur le papier dans la pratique je ne vois pas encore bien. Sont-elles des applications qui peuvent être hébergée par tous ces serveurs ...

On voit bien également le .NET Core et le .NET Standard qui se distinguent.

Et la fameuse Windows universel.

La bonne nouvelle c'est que les choses avances vites tout cela devient un peu plus cohérent. La mauvaise nouvelle c'est que si vous souhaitez développer pour iOS ou Android vous n'avez pas installé la bonne version.

Dont worry ce n'est que du soft !

Modifier l'installation de Visual Studio 2017

Utilisez l'Installer : Visual Studio Installer pour modifier vote installation de Visual Studio 2017.

L'installer de Visual Studio 2017
Qui vous donne accès aux fonctionnalités installées :



Et maintenant je vais aller développer quelques applications ASP.NET ...

Et bien non !? Je vais dans le flag jaune de mon Visual Studio 2017 pour voir ce que l'on me dit et là la mise à jour de la version 15.4.1 est disponible ! ARRRRRRGGGGGGG.

Visual Studio 2017 Mise à jour 15.4.1
Ca devient gênant ! Ca n'en finira pas ! C'est insupportable ce produit qui n'en finit pas de se mettre à jour j'ai passé plus de temps à faire des mise à jour qu'à l'utiliser.

Visual Studio 2017 Community Mise à jour 15.4.1
Cette mise à jour à le bon goût d'être super rapide.

Installation Visual Studio 2017 - Nov 2017

Voilà maintenant que l'on me propose la mise à jour 15.4.3. C'est fun non ? Je commence cet article en souhaitant parler de la mise à jour 15.4.0 et me voilà déjà avec la 15.4.3. Je n'ai pas eu le temps d'utiliser Visual Studio 2017 Comunity, je passe plus de temps à le mettre à jour.

Mise à jour version 15.4.3
Il faudrait qu'ils se dépêchent de terminer cette version 2017 car on est bientôt en 2018.

Mise à jour 20/11/2017

Sincèrement je pensais le processus Visual Studio 2017 et Xamarin un peu stable mais il n'en est rien c'est une vraie catastrophe. Aujourd'hui on me demande de regarder ce qu'est Xamarin et je ne peux rien en faire, mon Visual Studio 2017 me propose maintenant la mise à jour 15.4.4 :

Visual Studio 2017 - Mise à jour 15.4.4

C'est pas fun du tout !

Décembre 2017 Installation de la version 15.

Et  c'est reparti pour un tour, j'ouvre mon Visual Studio 2017 il y a le flag jaune en haut à gauche qui me propose l'installation de la version 15.4.5, allons-y :

Visual Studio 2017 Communiy Installation Version 15.4.5
Pas fun du tout !

Coder une calculette en C#

Passer le test de la Calculette en C#.NET, on vous a déjà fait le coup ? Pour un recrutement, un poste de développeur, on vous demande d'écrire un programme en C# avec Visual Studio qui fonctionnera comme la calculatrice de Windows. C'est ici !

Coder une Calculatrice Windows en C# - C'est le test de la calculette

Alors permettez que je vous présente ma solution.

Ce code source fonctionne avec toute version de Visual Studio mais cette solution a été développée avec Visual Studio Community 2017.

Visual Studio Community 20017

Cahier des charges de la Calculatrice en C#

On va d'abord se fixer quelques limites dans un mini cahier des charges.

Présentation du projet

Il s’agit d'écrire un programme qui fasse la même chose que la Calculatrice livrée avec Windows, dans sa version "standard". On ne développera pas la version "calculatrice scientifique".

Pour simplifier encore un peu le développement

On ne développera pas le menu, ni l’aide, ni les fonctions suivantes : "Rac", "%", "1/x".
La calculatrice ressemblera donc à ceci :

Maquette de la Calculatrice Windows en C#

Et on va se fixer un temps limite développement du projet disons 4 heures.

Livraison du projet

Ecrire l'application comme s'il s'agissait d'une "vraie" application professionnelle, en vue d'être commercialisée.

Le code source de l'application doit être fourni, sous la forme d'un fichier .ZIP contenant le répertoire complet du projet C#.

Le projet en C#

Choix du Template de départ : Application Windows Forms (.NET Framework)
Donc on y a va, on fait : Ficher->Nouveau->Projet, on choisi :

Solution Visual Studio Calculette

Structure de la solution du projet :

Structure de la Solution Calculatrice

On verra que l'on va utiliser deux objets. La Form s'appelle FormCalculatrice et j'ai ajouté un petit fichier "readme.txt" ça fait plus pro. On peut y écrire par exemple l'historique du développement ou une ToDoList des chose qu'il reste à faire.

Conception Objet de la Calculatrice

On a besoin de deux objets, l'un pour effectuer le Calcul, l'autre pour gérer les fonctions Mémoires.

Objet Calcul

Vous trouverez les sources en bas de cet article, je ne vais donc pas trop détailler mais simplement on imagine que l'objet Calcul.cs prendra 3 états :

Les trois états de l'objet Calcul.cs

Objet Memoire ou Memory

Vous rappelez-vous à quoi servent les touches mémoires de la Calculatrice ?

MC : Memory Clear
MR : Memory Read
MS : Memory Save
M+ : Memory Add

Heureusement, j'avais un bon vieux Windows XP sous la main, il est vrai pour l'instant que l'aspect de cette calculatrice ressemble plus à celle de Windows XP qu'à celle de Windows 10... en tous les cas celle que j'ai sous Windows 7 ne me présente plus l'aide de la Calculette Windows et son aspect est très différent mais restons à nos moutons.

Il m'a suffit de faire "bouton droit" sur la touche et de Cliquer sur "Qu'est ce que c'est ?" pour obtenir la réponse :

Calculatrice en C# Trouver les fonctions mémoires

L'application Calculatrice m'affiche maintenant la réponse à quoi sert la touche "MC" :

Calculatrice fonctions mémoires

Voici l'aide correspondante à la touche "MC" de la Calculatrice. L'objet mémoire aura donc trois états :

Les trois états de l'objet Memory.cs

Conception de l'IHM

Aujourd'hui on dit UI ou UX bref, elle nous est donnée donc on copie au plus prêt :

Windows Forms de la Calculatrice

Il faut un outil de graphiste pour trouver la taille des boutons en pixels, je vous donne le résultat :
  • Width : 35
  • Height : 25

Programme principal de la Calculette

Pour la Testabilité & Evolution tous les boutons "chiffre" sont câblés sur la même gestion d'events :

buttonNumber_Click()

Tous les boutons "Operands" sont également câblés ainsi :

buttonOperand_Click()

On y gère l'état de l'objet "Calcul" qui passe de AquireOperand1 à BeginAquireOperand2

Enfin la gestion de l'events clique sur "Equal" qui exécute le calcul en utilisant l'Opérand1 et l'Opérande2 :

buttonEqual_Click()

Qui prend en compte le fonctionnement particulier de la Calculette comme par exemple lorsque le résultat du calcul précédent devient l'Opérande1 pour le calcul suivant.

Je vous laisse découvrir le reste des codes sources dans le .ZIP à télécharger à la fin de cet article.

Gestion des touches tapées au clavier dans la Calculette

La Calculatrice Windows est utilisable au clavier numérique pad et touches d'opérations. Pour faire la même chose dans notre Calculette nous allons cabler l'event KeyPress de la Form :

FormCalculatrice_KeyPress()

Code source de la fonction FormCalculatrice_KeyPress()

FormCalculatrice_KeyPress()

Astuce concernant la gestion des touches du clavier

Si vous en restez là, cela ne fonctionne pas. En effet il faut passer l'event à la Form sinon elle ne le gère pas. Pour ce faire il faut setter la propriété "KeyPreview" de la Form à True.

Pour gérer les événements clavier mettre à True la propriété KeyPreview

Conclusion

Voilà c'est fini ! En gros les grandes parties de ce petit projet "Test de la Calculette Windows". Qui n'est finalement pas si petit.

C'est vraiment désobligeant quand on vous demande d'effectuer ce genre de test pendant l'entretien d'embauche alors que vous avez une expérience comme la mienne en développement de logiciel.

Que même s'il existe un "mini" cahier des charges les pièges sont nombreux et vous ne manquerez pas de tomber dedans. Donc j'espère avoir cassé les pattes de ces recruteurs peu scrupuleux.

La prochaine fois nous verrons comment coder une calculette en WPF avec le modèle MVVM (Model View ViewModel) de Prims et l'utilisation d'un EventToCommand.

Ou peut-être que l'on choisira ASP.NET avec le modèle MVC (Model View Controller) pour en faire une application Web, ou bien en faire une application Multi-plateforme avec ASP.NET Core et Angular2.

Revenez nous voir.

Download calculator sources code

Here on github :


Here you can find Calculator sources code 

Download Source Code - Calculator in C#

Have fun! Don't forget to go to the beach!

Statistiques over years

2017 : 1826 visites
22/10/2018 : 2294
22/06/2019 : 3944 quel succès apparemment le sujet vous intéresse.
24/11/2020 : 7140 bientôt tout le monde saura coder une calculette.
17/11/2022 : 13302

En 2022, j'ai pu exécuter les sources sur ma machine Windows 10 avec Visual Studio Community 2019.

Cet article vous a plu vous a aidé dans votre pratique de développeur, surtout laissez-moi votre commentaire.

Même, juste un petit merci, would be please ;)