Échec de la tâche de déploiement Web de Visual Studio 2010

J’essaie d’utiliser la fonctionnalité de publication en un clic de VS2010 pour déployer un site de test de mon ordinateur portable sur mon serveur. Le pare-feu est désactivé sur les deux machines et le service de déploiement MS est opérationnel sur mon ordinateur portable et sur le serveur.

Cependant, lorsque j’essaie de publier à partir de VS2010 sur mon ordinateur portable, j’obtiens l’erreur suivante:

Erreur 1 Echec de la tâche de déploiement Web (l’agent distant (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest ) n’a pas pu être contacté. Assurez-vous que le service d’agent distant est installé et démarré sur l’ordinateur cible. .)
La ressource demandée n’existe pas ou l’URL demandée est incorrecte.
Détails de l’erreur:
L’agent distant (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest ) n’a pas pu être contacté. Assurez-vous que le service d’agent distant est installé et démarré sur l’ordinateur cible.
Une réponse non prise en charge a été reçue. L’en-tête de réponse ‘MSDeploy.Response’ était ” mais ‘v1’ était attendu.
Le serveur distant a renvoyé une erreur: (404) introuvable. 0 0 Test.Web

Une idée de ce que je fais mal ici?

Assurez-vous que le service WMSvc (Web Management Service) est défini sur “Auto” (et qu’il est démarré) pour qu’il soit activé lorsque vous redémarrez et consultez ce lien.

Redémarrez le studio visuel .

J’ai eu celui-ci à quelques resockets après avoir déployé avec succès une WebApp sur un serveur exécutant IIS 7.5. Évidemment, un déploiement / publication ayant été effectué avec succès sur le serveur juste avant l’apparition de cette erreur, il y avait très peu de problèmes sur la configuration / configuration du serveur (sauf si le précédent déploiement réussissait mal et supprimait certains parameters de configuration). le serveur).

Après avoir redémarré le serveur, vérifié que le service Web Management et le service de déploiement Web fonctionnaient correctement et vérifié à partir de l’outil cUrl qu’un GET du fichier MsDeploy.axd avait réussi, qu’il ne restait plus qu’une chose à faire. Redémarrez Visual Studio. Par la suite, le redémarrage de la publication VS a recommencé à fonctionner. Tout seul. Des trucs magiques, ce déploiement Web 🙂

Assurez-vous d’avoir défini Site / Application correctement dans le profil de publication: Boîte de dialogue Publier le profil dans Visual Studio 2010

Vous obtenez le même message d’erreur si vous épelez un nom de site ou d’application incorrect.

Bien que beaucoup de choses non liées puissent consortingbuer à obtenir le 404, je l’ai résolu pour mon par.

  1. Lorsque vous installez / réinstallez le programme d’installation de WebDeploy, choisissez Personnalisé / Modifier, puis assurez-vous que «Interface de délégation de service de gestion» est l’une des options installées, qu’il n’est pas installé par défaut mais que WebDeploy fonctionne (bogue du programme d’installation).
  2. Utilisez la nouvelle icône Délégation de service de gestion du nœud Serveur du gestionnaire IIS pour append le rôle «Déployer les applications avec le contenu», en acceptant ses parameters par défaut. Mais vous souhaiterez peut-être également spécifier un paramètre “Exécuter en tant que” avec un utilisateur ayant le droit de modifier les parameters IIS.
  3. Redémarrez le service de gestion Web.

Après cela, tout fonctionne bien. En supposant que le service de gestion Web est configuré correctement (le mien est configuré pour accepter les connexions distantes, le port du pare-feu a été ouvert et l’utilisateur avec lequel il a été téléchargé a été ajouté à chaque site que je souhaite déployer) dans chaque nœud du site dans le gestionnaire IIS)).

Nous avons constaté que le problème était dû au fait que WebDeploy était installé avant que la fonctionnalité Web Management Service soit activée sur un serveur Windows 2008. Une fois Web Management Service installé, désinstallez complètement Web Deploy. Ensuite, réinstallez et assurez-vous que tous les composants du package sont sélectionnés.

Après la réinstallation, nous avons immédiatement pu publier sur le serveur à partir de mon ordinateur local et de notre CI.

Quelques points à noter après avoir lu les autres réponses:

  • Si vous obtenez une erreur 404, le problème ne concerne pas la sécurité.
  • Nous n’avons pas eu à redémarrer Visual Studio pour que cette modification prenne effet.
  • La réinstallation lancera les services en mode automatique, ne corrigez pas ce paramètre.

J’ai pu résoudre le même problème lorsque j’ai modifié le “Service URL” qui utilise “Windows Management Service” à partir de:

https://ExampleURL:8172/msdeploy.axd?site=SiteName 

à ce qui utilise “Remote Agent Service” à la place:

 http://ExampleURL 

Cela a bien fonctionné après ça.

J’ai eu cette erreur parce que j’ai changé mon mot de passe. L’assistant de déploiement conservait toujours mon ancien mot de passe, après avoir retapé mon mot de passe, tout fonctionne bien maintenant.

J’ai installé quelques serveurs Web et je continue à avoir ce problème, alors je poste ma réponse ici pour que je le trouve lorsque je trouve le problème avec Google.

Fondamentalement, j’installe toujours Web Deploy 3 à partir de Web Platform Installer. C’est la première erreur. Pour une raison quelconque, cela n’installe que la moitié des choses dont vous avez besoin. Si vous l’avez installé, désinstallez-le et téléchargez le programme d’installation de Web Deploy. Ensuite, choisissez “Complete” install.

Si vous suivez ce guide

Puis ignorez l’option 1. C'est un piège

Recommencez la lecture à partir de ” 2. Téléchargez le programme d’installation de Web Deploy …

Silly moi, je n’ai pas installé .NET 4 sur le serveur

J’ai reçu 404 depuis un navigateur IE depuis https: // nom_serveur: 8172 / MsDeploy.axd

Mais Chrome n’a pas causé de problèmes.

Cela peut être le premier test pour voir si vous pouvez accéder au service de gestion Web du serveur. En d’autres termes: lorsque Chome a travaillé (il a répondu avec une page blanche), vous avez alors access au service sur le serveur.

Cependant, vous devez également avoir la permission de déployer sur le site spécifique. Dans IIS, recherchez le site et faites-le dans “Autorisations du Gestionnaire des services Internet (IIS)” sous Gestion.

Ce même message se produirait presque au hasard lors de la publication de projets de Visual Studio 2010.

La solution consistait à supprimer le fichier $projectname.Publish.xml (dans le répertoire racine du projet) et à le recréer.

Si vous utilisez un certificate SSL, vous devez accéder au service de gestion dans la section Gestionnaire des services Internet (IIS) du Gestionnaire de serveur et arrêter le service, sélectionner le bon certificate puis redémarrer le service. C’est ce qui a fonctionné pour moi (je recevais un message interdit).

Comme pour un mannequin, cette erreur s’est produite pour moi parce que je n’avais pas installé Remote Web Agent dans le cadre de l’outil de déploiement Web disponible ici .

Même si tous les logiciels requirejs sont installés, j’ai eu une erreur similaire. J’ai remarqué que l’URL du service n’avait pas de préfixe http: //. Une fois préfixé cela fonctionne bien.

Je recevais des erreurs similaires de VS 2013 et j’ai trouvé un correctif que je ne voyais pas mentionné parmi les autres réponses.

Les erreurs:

  • La connexion sous-jacente a été fermée
  • Impossible de lire les données depuis la connexion de transport: une connexion existante a été fermée de force par l’hôte distant, à partir du serveur de génération (TFS 2010) .

Réparer:

Le correctif dans mon cas était de réactiver TLS 1.0 sur la cible. C’est une clé de registre mais j’utilise l’applet IISCrypto gratuit pour cela.