IIS Express Arrêt immédiat du site en cours d'exécution après l'arrêt de l'application Web

173

J'utilise Visual Studio 2012 dans les premiers jours où je veux arrêter l'application dans l'IDE, l'application fonctionnait toujours sur IIS Express, je pouvais naviguer et travailler avec l'application en cours d'exécution, mais maintenant je ne peux pas. IIS Arrêt immédiat de l'application si j'appuie sur le bouton d'arrêt. Depuis que je me souviens, je n'ai fait aucun changement de réglage. Comment dois-je faire cela en cours d'exécution comme les premiers jours.

sabre
la source
1
Essayez «afficher dans le navigateur» au lieu de «jouer». Avez-vous changé de navigateur par défaut? IE est automatiquement arrêté à l'arrêt, Chrome ne l'est pas.
Emanuele Greco
Non, j'utilise FF, mais j'ai parfois besoin de déboguer l'application.
sabre
Je pense que c'est quelque chose lié à IIS Express.
sabre
1
Au lieu de cliquer sur le bouton d'arrêt, vous pouvez également utiliser Détacher tout dans le menu Déboguer.
jessehouwing
1
Il a détaché le débogueur des processus en cours de débogage, mais ne tue pas les processus en cours.
jessehouwing

Réponses:

344

J'ai récemment été confronté à une situation similaire lorsque mon IIS Express s'est soudainement arrêté juste après l'arrêt du débogage. Cela s'est produit après avoir activé "Activer la modification et continuer" . Donc, si vous désactivez cela, vous verrez qu'IIS Express reste en cours d'exécution même après l'arrêt du débogage.

Faites un clic droit sur votre projet> cliquez sur Propriétés> sélectionnez l'onglet 'Web' sur la gauche> décochez la Enable Edit and Continuecase.

Abhi
la source
3
Je peux confirmer que cela a résolu le problème pour moi.
Maxime Rouiller
51
Cela marche !! Faites un clic droit sur votre projet> cliquez sur Propriétés> sélectionnez l'onglet "Web" sur la gauche> décochez la case "Activer la modification et continuer".
nv.snow
6
Ça marche. Dans Visual studio 2013 Ouvrez "Outils-> Options", sélectionnez dans l'arborescence "Débogage-> Modifier et continuer" et décochez la case "Activer la modification et continuer".
Renzo Ciot
3
vous pouvez en savoir plus sur cette fonctionnalité ici: blogs.msdn.com/b/webdev/archive/2013/07/11/…
gor
5
Non, c'est une mauvaise solution - voir la bonne solution, publiée par @jessehouwing, ci-dessous.
Josh M.
85

Dans VS2010 et VS2012, l'option Modifier et continuer est désactivée par défaut lors de la création d'un nouveau projet d'application Web. Dans VS2013, il est activé par défaut.

Vous pouvez trouver cette option sur l'onglet Web dans la fenêtre des propriétés du projet Web.

modifier et continuer l'option vs2013

Lorsque «Activer la modification et continuer» est activé, le débogueur VS démarre votre application Web dans IIS Express. Lorsque vous arrêtez le débogage, IIS Express est également fermé. Avec ce comportement, vous verrez la barre d'état système IIS Express apparaître pendant le débogage et disparaître après le débogage. Ce comportement est le même que dans VS2012 lorsque l'option Activer la modification et continuer est activée.

Si vous n'avez pas besoin de la fonctionnalité "Modifier et continuer" pendant le développement et que vous souhaitez qu'IIS Express reste après une session de débogage, vous pouvez simplement désactiver l'option Activer la modification et continuer .

Je f vous voulez utiliser « Modifier et continuer » ou vous développez un site Asp.net 5 (projets ASP.NET 5 ne dispose pas Modifier et continuer case à cocher dans les propriétés du projet) , vous devez utiliser la « Detech tous » commande pour arrêter le débogage.

Le débogueur se détachera du processus iis sans le fermer.

Il est clair que la fonction "Modifier et continuer" ne fonctionnera pas tant que vous ne recommencerez pas le débogage.

entrez la description de l'image ici

giammin
la source
une image vaut mille mots: D
giammin
64

Au lieu d' (X) STOPappuyer sur le bouton, vous pouvez utiliser l' Detach allélément de menu dans le menu Déboguer. La principale différence est que le bouton d'arrêt mettra fin à tout processus en cours de débogage, tandis que Détacher tout déconnectera le débogueur des processus, mais ne les terminera pas.

Le processus de travail IIS normal serait également arrêté, mais comme il était auparavant exécuté en tant que service, il redémarrera également automatiquement et vous pourrez ainsi continuer à l'utiliser sans avoir à redémarrer le processus via |> Debugou |> Start without debugging.

Capture d'écran pour référence

Ajout du bouton «Modifier et continuer» à la barre d'outils de débogage.

jessehouwing
la source
3
c'est en fait plus proche de la vraie réponse. L'option «MODIFIER ET CONTINUER» est une fonctionnalité. Attacher et détacher le traceur de débogage à un processus d'écoute est le concept souligné de la discussion ici, et si le fait de cliquer sur Arrêter met fin à ce processus d'écoute ou simplement se détache de celui-ci .. auquel bien sûr vous pouvez également rattacher.
Brett Caswell
@jcmcbeth cela fonctionne en effet pour IIS Express .. Je ne pouvais pas le voir ne pas fonctionner ... Les processus IIS Express ne sont que cela, leurs propres processus séparés .. votre débogueur VS démarre le processus et s'y attache .. mais ce processus ne dépend pas de votre débogueur attaché pour s'exécuter plus que votre application ou serveur Web n'a besoin d'un visiteur / agent utilisateur / client pour s'exécuter dans proc
Brett Caswell
1
@jcmcbeth, c'est une chose étrange à dire sur un site de questions-réponses lorsque vous parlez de la prise en charge des fonctionnalités et des paramètres. Ce n'est pas un scénario à prendre ou à laisser; Vous avez déclaré qu'il ne semble pas fonctionner avec IIS Express. Cela fait.
Brett Caswell
1
La case à cocher «Activer la modification et continuer» n'est pas présente dans les projets VS 2015 RC pour ASP.NET 5, c'est donc la voie à suivre si vous souhaitez utiliser IIS Express avec ceux-ci.
Tomek
7
C'est la réponse à la façon dont VS 2015 Update 2 a changé le comportement d'IIS avec la suppression de Modifier et continuer de l'onglet Web du projet.
Robharrisaz
32

Il semble que depuis la sortie de Visual Studio 2015 Update 2, la solution acceptée ne fonctionne plus.

La solution la plus simple que j'ai trouvée jusqu'à présent est de démarrer le projet en sélectionnant " Démarrer sans débogage " dans le menu Déboguer .

tocqueville
la source
1
On dirait que vous parlez de VS2015.
Chad Carisch
Merde, je viens de rencontrer ce problème et j'ai posté une question à ce sujet. Existe-t-il une solution de contournement connue pour résoudre ce problème - autre que la reliure de vos raccourcis pour démarrer sans débogage et détacher au lieu d'arrêter?
nikib3ro
1
Ils disent qu'ils le corrigent dans la prochaine mise à jour, en attendant, une autre astuce que vous pouvez utiliser consiste à appuyer sur ctrl + F5 pour démarrer le site sans débogage: connect.microsoft.com/VisualStudio/feedback/details/2562576/…
mattmanser
4

C'est probablement mieux classé comme une autre solution de contournement, mais cela fonctionne pour moi.

Je démarre généralement le projet pour la première fois avec le menu contextuel "Afficher dans le navigateur" (ou CTRL-Shift-W).

À partir de là, tout ce qui nécessite un débogage, je m'attache généralement au nouveau processus iisexpress existant. Bien que la souris dans les menus contextuels en fasse un non-démarreur, c'est presque aussi rapide que F5 avec les frappes suivantes:

  • Shift-F6 pour construire le projet actuel ou Ctrl-Shift-B pour construire la solution entière (cela n'est nécessaire que si vous avez apporté des modifications mais j'ai pensé que je devrais le mentionner puisque F5 le fait déjà).
  • Ctrl-Alt-P ouvre la boîte de dialogue Attacher au processus

  • taper «iis» vous amènera alors au processus iisexpress

  • appuyez sur Entrée et vous êtes attaché

Si vous avez plus d'un iisexpress en cours d'exécution, le dernier démarré apparaîtra généralement en haut de la liste. Une autre option consiste à sélectionner et à attacher à chacun d'entre eux.

Cela présente un certain nombre d'avantages IMO. D'abord et avant tout, cela ne met pas fin au processus. Deuxièmement, la fenêtre du navigateur n'est pas fermée lorsque vous arrêtez le débogage. Cela me fait peur quand je vois un développeur répéter 7 étapes pour reproduire un bogue, quand tout ce qu'il a à faire est d'appuyer sur F5 dans une fenêtre de navigateur existante pour republier une fois le débogueur connecté. Enfin, je dois déjà le faire lorsque je m'attache à la nunit, donc j'obtiens une expérience plus cohérente.

b_levitt
la source