Je publie mon application Lightswitch à l'aide de Visual Studio 2012 RC sur mon hôte local (Win 7, SQL 2008 R2, IIS 7.5). J'essaie maintenant de publier sur un serveur distant (Win 2008 R2, SQL 2008 R2, IIS 7.5) et j'ai des problèmes.
Lorsque j'essaie de publier, le message d'erreur suivant s'affiche:
La tâche de déploiement Web a échoué. (Impossible de se connecter à l'ordinateur distant ("###. ###. ###. ###") à l'aide du processus spécifié ("Service de l'agent de déploiement Web") car le serveur n'a pas répondu. Assurez-vous que le processus ("Web Deployment Agent Service") est démarré sur l'ordinateur distant. Pour en savoir plus, visitez l'adresse suivante: http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC .)
J'ai vérifié chacune des choses suggérées par le lien "En savoir plus". J'ai vérifié que MsDepSvc et WMSVC sont en cours d'exécution et que les ports 80 et 8172 répondent tous deux aux analyses de port. Dans les paramètres de publication, pour l'URL du service, j'utilise l'adresse IP ( http: //###.###.###.### ) de la machine distante. Pour l'utilisateur Name, j'utilise DomainName\Administrator, ce que j’utilise pour ouvrir une session à l’aide de RDP.
J'ai posté sur MSDN Forums où un membre m'a suggéré de faire reculer Web Deployment Tool de V2.0 à V1.1. Ce que j'ai fait, mais cela n'a rien changé.
En suivant le conseil dans une réponse à cette SO Question j'ai essayé de lancer msdeploy
à partir de la ligne de commande.
À partir de la ligne de commande sur leserveurje reçois:
Déploiement Web C:\Program Files\IIS\Microsoft> msdeploy -verb: dump -source: dirpath = c:\temp, nom_ordinateur = http: // nom_serveur: 80/msdeployagagentservice, nom_utilisateur = administrateur, mot de passe = XXXX -verbose -debug Résumé: Utilisation de l'ID 'c12c3392-2290-44b7-9434-dbd0ff5f9385' pour les connexions au serveur distant. Résumé: L'auto-authentification sur l'URL de l'agent distant ' http: // NomServeur: 80/msdeployagentservice ' en tant qu'administrateur. MSDeploy.dirPath (name = MSDeploy.dirPath) c:\temp (nom = dirPath) (keyAttribute = c:\temp) (linkName = Child1)
À partir de la ligne de commande sur lemachine à dev)je reçois:
C:\Program Files\IIS\Web Deploy V3> msdeploy -verb: dump -source: dirpath = c:\temp, nom_ordinateur = http: //###.######.## #: 80/msdeployagentservice, nom d'utilisateur = administrateur, mot de passe = XXXX -verbose -debug Informations: utilisation de l'ID '7f0b7d5b-e202-424c-a7dd-246920253081' pour les connexions au serveur distant. ' http: //###.###.###.###: 80/msdeployagentservice ' en tant qu'administrateur. Verbose: auto-authentification sur l'URL de l'agent distant ' http: // ###. ###. ###. ###: 80/msdeployagentservice 'en tant qu'administrateur'. Code d'erreur: ERROR_COULD_NOT_CONNECT_TO_REMOTESVC Informations supplémentaires: impossible de se connecter à l'ordinateur distant ("###. ### . ###. ### ") en utilisant le processus spécifié (" Service de l'agent de déploiement Web ") car le serveur n'a pas répondu. Assurez-vous que le processus (" Service de l'agent de déploiement Web ") est démarré sur l'ordinateur distant. En savoir plus plus sur: http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC . En savoir plus sur: http: // go. Microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC . ---> Microsoft.Web.Deployment.DeploymentException: les objets de type 'dirPath' et le chemin 'c:\temp' ne peuvent pas être créés. ---> System.Net.WebException: le serveur distant a renvoyé une erreur: (400) requête incorrecte. sur System.Net.HttpWebRequest.GetResponse () sur Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse (demande HttpWebRequest) --- Fin de la trace de pile d'exception interne --- --- Fin de trace de pile d'exception interne --- chez Microsoft .Web.Deployment.DeploymentManager.CreateObjectPrivate (DeploymentProviderContext providerContext, DeploymentBaseOptions baseOptions, DeploymentObject SourceObject, String serverVersion) à Microsoft.Web.Deployment.DeploymentManager.CreateObject (DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) à MSDeploy.MSDeploy.CreateObject (DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions ) sur MSDeploy.MSDeploy.ExecuteWorker () sur MSDeploy.MSDeploy.Execute ()
at MSDeploy.MSDeploy.Main (String [] UnnamedArgs) Nombre d'erreurs: 1.
En utilisant Wireshark, je constate que je me connecte bien, mais après un POST /MSDEPLOYAGENTSERVICE
, je reçois une erreur 400: Une requête incorrecte qui ressemble à ceci:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n
<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n
<BODY><h2>Bad Request - Invalid Content Length</h2>\r\n
<hr><p>HTTP Error 400. There is an invalid content length or chunk length in the request.</p>\r\n
</BODY></HTML>\r\n
La seule chose que je pouvais trouver qui mentionnait ce comportement spécifique était un article de support technique Microsoft pour ISA Server 2000.
Que devrais-je regarder?
J'ai eu le même problème avec Web Deploy 3.5 lorsque je l'ai installé avec "Web Platform Installer 5.0"
Lorsque j'ai essayé de publier à partir de Visual Studio, j'ai eu cette erreur:
---------------------------
Microsoft Visual Studio
---------------------------
Could not connect to the remote computer ("10.0.3.102") using the specified process
("Web Management Service") because the server did not respond. Make sure that the process
("Web Management Service") is started on the remote computer. Learn more at:
http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC.
The remote server returned an error: (403) Forbidden.
---------------------------
OK
---------------------------
J'ai vérifié deux fois les services, les deux fonctionnaient. J'ai également désactivé le pare-feu et toujours la même erreur.
Comment j'ai résolu ce problème:
Terminer l'installation
Résultat : Publier à partir de Visual Studio fonctionne
Je l'ai rencontré hier. Dans mon scénario, cela se résumait entièrement aux paramètres de publication où il est demandé Site Name:
J'ai fourni MyApplication
. Quand on s'attendait vraiment à ce que je fournisse:
Default Web Site/MyApplication
J'ai abordé cette question avec l'équipe de déploiement de Microsoft. J'espère donc qu'ils peuvent préciser que si vous ne spécifiez pas un nom de site existant, ce n'est pas le serveur de déploiement Web qui est mort comme cette erreur vous fait penser.
J'ai eu le même problème et l'ai résolu en supprimant tous les dossiers de déploiement Web dans les fichiers de programme (x86)\IIS et dans Program Files\IIS.
Après cela, j'ai réinstallé Web deploy 1.1 et Web deploy 3.0 sans SQL fourni.
Pour résoudre le problème, j’ai suivi ces étapes: Server: WS2012. DEVs2012 Projet MVC4.
1) Créez un site vide sur le serveur avec le nom requis ou lors de la publication, utilisez "Site Web par défaut" si vous n'avez pas renommé le nom par défaut.
J'ai utilisé des informations dans ce lien
Sur le serveur utilisant WPI, installez ce qui suit
Installer Web Deploy (3.5) pour les serveurs d'hébergement
Configuration de serveur recommandée pour les fournisseurs d'hébergement Web
Je me suis assuré que les autres versions n'étaient PAS installées
Donc, vérifiez le nom du site que vous utilisez .... J'utilise AdminUI ..__ Ceci est un site vide créé sur le serveur de test
Donc, lorsque vous utilisez l'assistant, faites correspondre le nom du site
Assurez-vous que les services pertinents exécutent sur le serveur . Et que vous disposez des privilèges suffisants pour écrire sur le site.
J'ai réussi à résoudre ce problème sur mon serveur en redémarrant le service de gestion Web.
Ce que Chris a dit: "Quand on s'attendait vraiment à ce que je fournisse" Site Web par défaut/Mon application "." Les mots "Site Web par défaut", pas le nom de votre serveur.
J'avais aussi ça et j'ai passé des heures à me frapper la tête contre un mur jusqu'à ce que j'essaye. (Merci Chris!)
FWIW, j’utilisais le nom du site Web par défaut (nom du serveur) et non les mots "Site Web par défaut", ce que vous devez apparemment utiliser. Un peu boiteux, mais au moins je le sais maintenant.
J'ai eu le même problème. Enfin résolu en changeant à https dans l'URL du service.
En utilisant les informations de plusieurs forums et réponses, j'ai finalement réussi à installer Web Deploy de la manière dont je pouvais l'utiliser pour publier avec Visual Studio (testé sans pare-feu activé):
Installez Web Deploy (Important: "Terminez" ET après que "Management Services" ait été installé) http://www.iis.net/downloads/Microsoft/web-deploy#additionalDownloads
Assurez-vous dans IIS au niveau du serveur
Si le pare-feu est actif: activez "Partage de fichiers" et "Gestion du service à distance"
Même problème sur l'instance AWS EC2.
J'ai également perdu quelques heures sur cette erreur (ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
) aujourd'hui, ce qui est amusant, c'est que j'ai pu déployer avec le Properties/PublishProfiles/<Profile>.pubxml
construit __ (via right click on project -> Publish... -> create via wizard
).
Dans mon cas cependant, j'ai accidentellement gâché l'attribut <DeployIisAppPath>
. Cela doit pointer sur SiteName
au lieu de ApplicationPool/SiteName
. Voici le bloc complet de mon fichier *.csproj
:
<Project ...>
...
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DEV-Deploy|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>Prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<DeployIisAppPath>HERE GOES THE SITE NAME ONLY</DeployIisAppPath>
</PropertyGroup>
...
</Project>
Donc, si vous avez configuré le SiteName sur Foo, la dernière partie de ce bloc de configuration serait <DeployIisAppPath>Foo</DeployIisAppPath>
.
En outre, toutes les informations sur le site IIS pour les codes d'erreur n'ont jamais vraiment aidé.
La tâche de déploiement Web a échoué. (Impossible de se connecter à l'ordinateur distant.)
Dans mon cas, je devais redémarrer le service de l'agent de déploiement Web sur le boîtier distant.
Assurez-vous que le trafic sur le port 8172 est autorisé . L'ajout d'une règle entrante sur mon NSG a résolu le problème.
J'ai résolu ce problème en mettant le mot "Site Web par défaut" dans la zone de texte du nom du site lors de la publication à partir de l'assistant dans Visual Studio 2013.
J'ai eu la même erreur. C'est parce que j'avais un proxy configuré qui n'existait pas dans ce réseau.
Cela a également fonctionné en désinstallant tous les Web Deploy et en installant uniquement Web Deploy 2.0.
Vérifiez l'absence de correspondance entre TLS. Nous utilisions la clé reg SchUseStrongCrypto pour forcer TLS 1.2 sur une machine et non sur l'autre. Blogué plus de détails ici https://fuseit.zendesk.com/hc/en-us/articles/360000328595
Supprimez simplement http: // de http: // NomServeur: 80/msdeployagentservice . Essayez également d'utiliser simplement ServerName. J'avais ce problème et a été résolu en supprimant simplement http: //
J'ai eu une autre situation où cela a soudainement cessé de fonctionner pour moi.
C'est parce que j'avais une restriction d'adresse IP spécifiée dans le service de gestion et que mon fournisseur de services Internet m'avait attribué une nouvelle adresse IP. J'ai oublié je l'ai précisé.
J'avais un problème similaire "ERROR_COULD_NOT_CONNECT_TO_REMOTESVC" et je suis allé dans IIS -> Votre site Web -> Paramètres avancés et j'ai trouvé mon nom d'utilisateur dans "Identifiants de chemin physique". Je l'ai enlevé et le déploiement de mercredi a commencé à fonctionner.
Assurez-vous également que lorsque vous déployez à partir de VS, utilisez "localhost" sans numéro de port ni nom de site dans le champ suivant.
J'ai mis le port et il a également échoué avec ERROR_DESTINATION_NOT_REACHABLE.
J'ai essayé toutes les autres solutions populaires ici et aucune d'entre elles n'a fonctionné pour moi. : (
J'avais d'abord installé "Web Deploy 3.6 sans le support SQL fourni} [".
alors le "Configuration de serveur recommandée pour les fournisseurs d'hébergement Web".
Je pensais "je n'ai pas besoin de tout ce support SQL}".
Je ne pouvais pas passer le "validation de la connexion" sur mon profil de publication Visual Studio sans voir la même erreur que les documents Questioner ci-dessus.
J'ai lu quelque part comment la désinstallation et la réinstallation de Web Deploy permettaient de résoudre le problème. J'ai donc ouvert "Programmes et fonctionnalités", trouvé "Microsoft Web Deploy 3.6", puis je l'ai désinstallé. .
Il m’avait averti que d’autres personnes seraient connectées au système, mais j’étais désespéré.
Après la désinstallation, j'ai ouvert IIS, cliqué sur le noeud de mon serveur, puis sous la section "Gestion" ouverte "programme d'installation de Web Platform" et installé "Web Deploy 3.6 "cette fois (c’est ce que j’installe habituellement à la place de celui sans support SQL).
Ensuite, j'ai enfin pu valider la connexion à partir de mon ordinateur local via Visual Studio.
Cela n'a probablement rien à voir avec la version de Web Deploy que j'ai installée.
J'ai lu à quel point l'ordre dans lequel vous installez ces outils et recommandations est compliqué.
Je pense que c’est parce qu’il ya eu un problème (comme l’installation des configurations de serveur recommandées après Web Deploy au lieu d’avance), mais c’est tout bon maintenant.
Voici un lien avec des instructions utiles à suivre lors de l’installation de Web Deploy sur IIS 8.0:
https://docs.Microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later
Assurez-vous également que le service de localisateur d'appel de procédure distante (RPC) est démarré.
J'ai défini mon nom d'utilisateur et mon mot de passe, qui sont utilisés dans Config Web Deploy des iis, dans la fenêtre Connection de visual studio et cela fonctionne correctement pour moi ...
Je venais de démarrer le service Web Deployment Agent. pour une raison quelconque, cela n'a pas démarré automatiquement.
Apparemment, ce qui fonctionne pour moi est simplement de redémarrer mon studio visuel/mon ordinateur et de le redéployer en republiant mon application Web.