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?
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
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 :)
Assurez-vous que vous avez correctement défini Site/Application dans le profil de publication:
Vous obtenez le même message d'erreur si vous épellez mal le nom du site ou de l'application.
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.
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)).
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:
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.
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.
Recommencez la lecture à partir de "2. Téléchargez le programme d'installation de Web Deploy ..."
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.
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.
Silly moi, je n'avais pas installé .NET 4 sur le serveur
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 .
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).
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.
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:
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.
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.