mercredi 26 août 2020

The setup for this installation of Visual Studio is not complete

Je ne comprends pas comment les ingénieurs de Redmond peuvent encore laisser passer ce genre chose tout à fait insupportable. J'ai une machine de développement installée avec Visual Studio Community 2019, je ne l'ai pas faite fonctionner depuis quelques temps, environ un mois peut être un mois et demi même et Poufff !

Au moment de redémarrer : BOUM !!!

Visual Studio - The setup for this installation of Visual Studio is not complete

Impossible d'exécuter Visual Studio, de quoi parle t-il ? Je n'ai pas fait d'installe, j'ai encore moins laissé cette machine avec un installe incomplet !

Je ne peux pas en être certain mais je pense que, comme cette machine est dans le cloud, et comme ces derniers temps quand j'utilisais VS et qu'il me proposait une mise à jour, je cliquais NON ! Il faut dire que j'avais autre chose à faire ... Dans le cloud c'est facile de forcer la mise à jour de la machine et surtout de la planter.

Ce n'est  pas admissible, j'ai client à satisfaire dans la journée et voilà que mon Visual Studio est cassé !

Comme indiqué, je lance l'exécution de Visual Studio Installer ... Avec un peu d’appréhension. Vais-je arriver à réparer mon installation de Visual Studio où vais-je devoir indiquer à mon client qu'il va falloir qu'il attende !

Visual Studio Installer - Please update Visual Studio Installer before proceeding

Je ne sais pas vous, mais moi j'ai comme l'impression que je n'ai pas le choix ;-) En gros Visual Studio me propose la mise à jour du metteur à jour, c'est fort non ?

Je clique donc sur le bouton Update

Update Visual Studio Installer
Update Visual Studio Installer

En suite, il s'exécute ....

Et BOOOUUUMMM !!!

Visual Studio Installer - Setup Failed !
Visual Studio Installer - Setup Failed !

Du coup, il ne me reste plus qu'une option, cliquer sur View problems

Et ARRRGGGGGS !!!

Visual Studio Installer - Sorry, something went wrong !
Visual Studio Installer - Sorry, something went wrong !

Ça fait beaucoup d'erreurs, remarquez en même temps ils s'excusent c'est déjà ça.

Mais ce n'est véritablement pas, dans un monde compétitif, admissible. Si cet idiot d'installeur s'est pris les pieds dans le tapis, la moindre des choses c'était de remettre tout ça comme avant en état de fonctionnement.

Il ne me reste plus qu'à cliquer sur le bouton : More troubleshooting tips

Et là ... c'est le drame ... Résolution des problèmes d’installation et de mise à niveau de Visual Studio. 

Réparation de l'installation de la mise à jour ratée

Pour ma part, je vais directement à l'étape 4 :

Étape 4 : supprimer le répertoire Visual Studio Installer pour résoudre les problèmes de mise à niveau

1. Fermez le programme d’installation de Visual Studio.

2. Supprimez le répertoire du programme d’installation de Visual Studio. En règle générale, le répertoire est C:\Program Files (x86)\Microsoft Visual Studio\Installer.

3. Exécutez le programme d’amorçage du programme d’installation de Visual Studio. Vous pouvez trouver le programme d’amorçage dans votre dossier Téléchargements sous un nom respectant le modèle vs_[Visual Studio edition]__*.exe.

Exécution du programme d'amorçage :

Visual Studio Installer - Programme d'amorçage
Visual Studio Installer - Programme d'amorçage

Et l'installeur me propose alors une mise à jour :

Visual Studio Installer - Update available
Visual Studio Installer - Update available

Je clique sur le bouton Update

C'est aussi long qu'une installe complète mais au bout du processus, Visual Studio Installer me propose :

Visual Studio Réparation de mon installation
Visual Studio Réparation de mon installation

Je clique sur le bouton Launch

Un peu fébrile car je viens de perdre une bonne heure ... Mais ça  y est mon installation de Visual Studio est réparée.

Si je prends note de tout ce processus, c'est parce que, croyez moi mais quand je clique sur le bouton de mon Visual Studio et qu'il ne se lance pas, je ne sais pas du tout ce que je vais trouver ! 

Il est bien possible que ce problème vous fasse perdre beaucoup plus de temps. Que l'installe n'arrive pas à réparer et que vous deviez tout désinstaller ... proprement, c'est à dire en trouvant les répertoires les fichiers à supprimer ceux que la désinstallation n'a pas pu effacer ... à la manière de la réinstalle d'IIS.

Donc cette fois, je suis plutôt chanceux ...

Vous avez galéré comme moi, n'hésitez pas à me laisser votre commentaire.

System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.

Voilà encore un petit problème à résoudre ...

Le bonne réponse est Ici :

limilabs - The remote certificate is invalid according to the validation procedure

Mais alors tout en bas ... tout en bas de l'article.

vendredi 21 août 2020

Déployer dans l'Azure - Web Management Service - Stopped by SSL Certificate

Cause SSL Certificate is broken ! Pas mal celui là, j'ai du supprimer le WMSvc Certificate pour installer le mien. J'en avais marre que cet idiot de googoole me propose ce certificat à la place du mien lorsque je browsais mes sites en https ...

Et du coup, je ne peux plus déployer dans l'Azure sur ma machine virtuelle ! Vous ne voyez pas le rapport, le voici dans le journal des événements :

Log Name:      Application
Source:        Microsoft-Windows-IIS-IISManager
Date:          7/21/2020 1:12:05 PM
Event ID:      1007
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      XXX-00X
Description:
The description for Event ID 1007 from source Microsoft-Windows-IIS-IISManager cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event: 

IISWMSVC_STARTUP_UNABLE_TO_READ_CERTIFICATE

Unable to read the certificate with thumbprint 'bea251c156b5a4b3eb5d1189ba86502b0b26a496'.  Please make sure the SSL certificate exists and that is correctly configured in the Management Service page.

Process:WMSvc
User=NT AUTHORITY\LOCAL SERVICE

Je sais c'est un peu technique mais le sujet qui nous intéresse c'est ; le Certificat SSL du Web Deploy de Microsoft ... et si vous le supprimez que se passe t-il ? GRRRrrr ! Et je vais vous corriger cette erreur.

Il me semble qu'une bonne part de lecture se trouve Ici pour fixer les idées voici une première page à lire attentivement :

Microsoft - Vue d'ensemble sur le déploiement de projet d'application Web pour Visual Studio et ASP.NET

Et en fait la meilleure et la solution se trouve Ici :

SuperTekboy - Web Management Service (WMSvc) could not be started: 2147483640

Bon alors on n'a pas de "Serveur Exchange" ... mais ce n'est pas grave, on peut s'en sortir sans. En gros il s'agit de créer un "self-certificate" de le nommer correctement :

WMSvc-NOM-DE-MACHINE

et de l'appeler au bon endroit.

J'ai supprimé le certificat SSL WMSvc - car je pensais qu'il ne servait à rien Grrrr.

Voilà, nous venons de réparer un Web Deploy qui ne fonctionnait plus suite à la suppression du Certificat SSL : WMSvc ...

Je pars à la plage, j'en ai marre de ces conneries ...

mardi 18 août 2020

Créer une application Web API RETSful HTTP

C'est quoi une application Web API RESTful HTTP ? Et quelles différences il y a-t-il entre ASP.NET Framework et ASP.NET Core pour ce type d'application ?

C'est ce que je vais essayer de décrire dans ce post. Déjà créons ces deux template d'application avec Visual Studio 2019.

Un peu de lecture : JDN - C'est quoi RESTful ?

Créer une application ASP.NET Standard RESTful HTTP

Voici l'écran que nous propose Visual Studio Community 2019:

Create an ASP.NET Web Application - Web API

Cherchons un peu de doc sur les applications ASP.NET Web API, je trouve un article intéressant :

TutorialsTeacher - ASP.NET Web API Tutorials

Une application ASP.NET Web API peut être accéder par n'importe quel type de client y compris les appareils mobiles tout se passe dans l'url.

Voici la structure de l'application :

ASP.NET Web API - Structure

Avec le contenu de quelques fichiers remarquables ...

Global.asax.cs


ASP.NET Web API - Global.asax

Controllers ValueController.cs


ASP.NET Web API - ValuesController dérive de l'ApiController

Dans le Get, je modifie le valeur "value" par "Ici c'est ma valeur".

Modification de "value" par "Ici c'est ma valeur"


Je lance une exécution de l'application :


ASP.NET Web API - Exécution de l'application

Et quand je requête l'url :

https://localhost:44398/api/values/5

ASP.NET Web API - Requête de l'url : api/values/5

Ce qui est bien le résultat escompté. J'ai mis 5 dans la requête le code m'indique que j'aurais pu mettre n'importe quelle valeur du paramètre id de Get( in id ) cela n'aurait rien changé c'est simplement une préparation pour l'avenir.

Tout ceci est paramétrable les "routes" sont configurables dans le fichier RouteConfig.cs :

ASP.NET Web API - RouteConfig.cs

Bon, je dirais que le plus embêtant, c'est que c'est du Razor ...Grrr

Ce qui est amusant et intéressant concernant ce type d'application c'est l"onglet "API" nous avons des pages d'aides concernant l'utilisation de l'API :

ASP.NET Web API - Les Pages d'Aide auto-descriptives de l'API
Si je clique sur la page d'aide concernant le GET api/values/{id} :

ASP.NET Web API - Page d'Aide de GET api/values/{id}
Voilà j'ai fait le tour complet je peux ajouter mon propre controller et gérer les données que je souhaite.

Qu'en est-il des applications ASP.NET Core Web API

Voici l'écran de Visual Studio Community 2019 :

ASP.NET Core Web API

Si je cherche un peu de doc j'arrive ici :


L'exemple n'est pas le même pas besoin, il y un controller on va dire qui retourne des objets structurés: 

ASP.NET Core Web API - WeatherForecastController
Qui fait que quand on requête l'url :

https://localhost:<port>/WeatherForecast

l'application nous rend une liste l'objet de type WeatherForecast.

La suite du didacticiel nous fait ajouter un objet TodoItem et son utilisation dans une base de données grâce à l'EntityFrameworkCore. Je vous conseille également l'utilisation de Postman qui un outil qui permet de tester les API c'est très complet.

Voilà c'est tout pour les applications ASP.NET Core RESTful. Nous venons de faire un tour rapide des applications Web API avec Visual Studio 2019.

Rien de très nouveau sous le soleil.