web-dev-qa-db-fra.com

La tâche de déploiement Web Visual Studio 2010 a échoué

J'essaie d'utiliser la fonctionnalité de publication en un clic de VS2010 pour déployer un site de test depuis mon ordinateur portable vers mon serveur. Le pare-feu est désactivé sur les deux ordinateurs 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, l'erreur suivante apparaît:

Erreur 1 La tâche de déploiement Web a échoué. (L'agent distant (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest ) n'a pas pu être contacté. Vérifiez 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) non trouvé. 0 0 Test.Web

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

64
Cranialsurge

Assurez-vous que le service WMSvc (service de gestion Web) est défini sur 'Auto' (et démarré) afin qu'il soit activé lorsque vous redémarrez et consultez ce link

39
beatn1ck

Redémarrer Visual Studio .

Celui-ci est apparu à quelques reprises après le déploiement réussi d'une application Web sur un serveur exécutant IIS 7.5. Évidemment, un déploiement/une publication ayant été effectué avec succès sur le serveur juste avant que cette erreur ne se produise, il y avait très peu de choses qui auraient pu mal tourner lors de l'installation/de la configuration du serveur 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, il ne restait qu'une chose à faire. Redémarrez Visual Studio. Comme par magie, le redémarrage de la publication VS a recommencé à fonctionner. Tout seul. Des trucs magiques, ce déploiement Web :)

72
bhavinb

Assurez-vous que vous avez correctement défini Site/Application dans le profil de publication: Publish profile dialog in Visual Studio 2010

Vous obtenez le même message d'erreur si vous épellez mal le nom du site ou de l'application.

18
Pavel Chuchuva

Bien que beaucoup de choses différentes et non liées puissent contribuer à l’obtention de la 404, j’ai résolu le problème pour moi.

  1. Lors de l'installation/la réinstallation du programme d'installation de WebDeploy, choisissez Personnaliser/Modifier, puis assurez-vous que l'interface utilisateur de délégation du service de gestion est l'une des options installées. Elle n'est pas installée par défaut, mais elle est requise pour que WebDeploy fonctionne (bogue du programme d'installation).
  2. Utilisez la nouvelle icône Délégation du service de gestion dans le nœud Serveur du gestionnaire IIS pour ajouter le rôle "Déployer les applications avec contenu", en acceptant ses paramètres par défaut. Toutefois, vous pouvez également spécifier un paramètre "Exécuter en tant que" avec un utilisateur disposant des droits nécessaires pour modifier les paramètres IIS.
  3. Redémarrez le service de gestion Web.

Après cela, tout fonctionne bien. En supposant que le service de gestion Web soit configuré correctement (le mien est configuré pour accepter les connexions distantes, le port du pare-feu a été ouvert et l'utilisateur avec lequel je télécharge a été ajouté à chaque site sur lequel je souhaite effectuer un déploiement (à l'aide de IIS Icône Autorisations du gestionnaire dans chaque nœud de site du IIS Manager)).

13
simbolo

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

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

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

  • Si vous obtenez une erreur 404, le problème n’est pas celui de la sécurité.
  • Il n'était pas nécessaire de redémarrer Visual Studio pour que cette modification soit prise en compte.
  • La réinstallation démarrera les services en mode automatique, ne réglez pas ce paramètre.
11
Nick

J'ai pu résoudre le même problème lorsque j'ai modifié "l'URL du service" qui utilise le "Service de gestion Windows" à partir de:

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

à cela qui utilise "Remote Agent Service" à la place: 

http://ExampleURL

Cela a bien fonctionné après cela.

4
WVDominick

J'ai installé plusieurs serveurs Web et je continue à avoir ce problème. Je poste donc ma réponse ici pour que je le trouve lorsque je recherche le problème sur Google. 

En gros, j'installe toujours Web Deploy 3 à partir du programme d'installation de Web Platform. C'est la première erreur. Pour une raison quelconque, cela n'installe que la moitié de ce 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" installer. 

Si vous suivez ce guide

Ne tenez pas compte de l'option 1. It's a trap

Recommencez la lecture à partir de "2. Téléchargez le programme d'installation de Web Deploy ..."

2
Mike the Tike

J'ai eu cette erreur parce que j'ai changé mon mot de passe. L'assistant de déploiement a quand même enregistré mon ancien mot de passe. Après avoir retapé mon mot de passe, tout fonctionne correctement maintenant.

2
Adamy

J'ai reçu 404 d'un navigateur IE de https: // nom du 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 sur le serveur .. .. En d'autres termes: Lorsque chome fonctionne (il répond avec une page vierge), alors vous avez un trou dans le service sur le serveur.

Néanmoins, vous devez également avoir l'autorisation de déployer sur le site spécifique. Dans IIS, recherchez le site et faites-le dans "Autorisations du gestionnaire IIS" sous Gestion.

1
RaSor

Silly moi, je n'avais pas installé .NET 4 sur le serveur

1
AMissico

Comme une mannequin, cette erreur s’exprimait pour moi car je n’avais pas installé l’agent Web distant dans le cadre de l’outil de déploiement Web disponible ici .

0
Andy Merrick

Si vous utilisez un certificat SSL, vous devez accéder au service de gestion dans la section Gestionnaire IIS du gestionnaire de serveur, arrêter le service, sélectionner le certificat approprié, puis redémarrer le service. C'est ce qui a fonctionné pour moi (je recevais le message Interdit).

0
Mike Cheel

Ce même message se produirait presque au hasard lors de la publication de projets à partir de visual studio 2010.

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

0
maxp

Je recevais des erreurs similaires de VS 2013 et j'ai trouvé un correctif que je n'ai pas vu mentionner aucune des autres réponses.

Les erreurs:

  • La connexion sous-jacente était fermée
  • Impossible de lire les données de 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:

La solution dans mon cas était de réactiver TLS 1.0 sur la cible. C'est une clé de registre, mais j'utilise l'applet gratuite IISCrypto pour cela. 

0
DLF

Même si tous les logiciels requis sont installés, j'ai eu une erreur similaire. J'ai remarqué que l'URL du service ne portait pas le préfixe http: //. Une fois préfixé cela fonctionne bien.

0
Sundar