web-dev-qa-db-fra.com

Impossible de déboguer par ASP.NET MVC5/IIS Express - Code non en cours d'exécution

Je lance une application Web VS2013 VB.Net MVC5, définit un point d'arrêt dans la méthode de HomeController et exécute "Démarrer le débogage", navigue jusqu'à la page À propos de et reçois le message "Code not running - The current Thread is not currently running or the call stack could not be obtained" empêchant tout débogage.

Si je définis un point d'arrêt dans Global.asax Application_Start, le point d'arrêt fonctionne correctement. Changer le "Activer Edit & Continue" ne fait aucune différence.

Quelqu'un a une idée de ce qui se passe?

Mise à jour : Mon environnement était Windows 8.0 Pro avec VS2013 Ultimate. 

Depuis, j'ai vidé mon système et procédé à une nouvelle installation de Windows 8.1 Pro, de VS2010 Ultimate, de VS2012 Ultimate et de VS2013 Ultimate. 

Même test effectué sur les 3 versions de VS - Fichier> Nouveau projet> MVC (par défaut). Les 3 versions de VS signalent "Process with an Id of xxx is not running.

Rapports de trace de débogage VS2013 "The program '[7720] iisexpress.exe: Program Trace' has exited with code 0 (0x0). The program '[xxxx] iisexpress.exe' has exited with code -1073741816 (0xc0000008) 'An invalid handle was specified'.

J'ai exécuté VS en mode administrateur et en sortir et je reçois les mêmes résultats. J'ai désinstallé et réinstallé IIS Express 8.0.

37
Graeme

La solution au problème ci-dessus était simple. Fermez les environnements de développement, accédez au dossier Documents et renommez IISExpress. Définissez maintenant la variable d'environnement _CSRUN_DISABLE_WORKAROUNDS (ref: http://gauravmantri.com/2013/02/05/workaround-for-iis-express-crashing-when-running-windows-Azure-cloud-service-web-role- avec-plusieurs-instances-dans-windows-Azure-sdk-1-8-compute-emulator/ ). 

Maintenant, redémarrez votre PC, démarrez VS, chargez le site Web et lancez le débogage. IIS a régénéré automatiquement le dossier IISExpress et les conflits d’environnement résolus.

10
Graeme

Pour moi, la solution était beaucoup plus simple. Dans l'explorateur de solutions de Visual Studio, je clique avec le bouton droit de la souris sur le projet Web, choisis des propriétés, puis je navigue jusqu'à l'onglet "Web". De là, j'ai changé l'URL du projet en un autre numéro de port. Par exemple, s'il s'agissait de http://localhost:1052 - je l'ai changé en http://localhost:4356.

Process with an Id of xxx is not running.

Je ne sais pas si cela peut aider quelqu'un d'autre, mais cela a fonctionné pour moi - j'espère que cela fonctionnera pour vous aussi!

43
Deano

J'ai eu le même problème et ma solution était la suivante:

Au lieu de supprimer le applicationhost.config principal (dans votre dossier "Documents/IIS Express"), recherchez dans votre dossier de solution un dossier ".vs" caché avec un sous-dossier "config". Si ce dossier existe et qu'il possède son propre fichier applicationhost.config, vous devez le renommer (ou le supprimer) ou le modifier et vous assurer que le ou les sites Web configurés à l'intérieur correspondent aux applications Web ASP.NET essaient de déboguer. J'espère que cela t'aides.

29
Vesselin Obreshkov

Si vous utilisez une machine 64 bits

Accédez à Visual Studio> Menu Outils> Options.

enter image description here

28
user586399

J'ai eu un problème similaire lors du passage de Visual Studio 2013 à Visual Studio 2015 sur un projet MVC.

Supprimer toute la solution .vs a fonctionné comme un charme, comme l'a souligné Johan J v Rensburg .

16
Daniel Vartdal

Eh bien… pour moi, le problème a été causé par Telerik JustMock Q3 2013 (13.3.1015.0). Désinstallé de VS 2013 et le problème a disparu ..

voir aussi Code ASP.NET-MVC4 non exécuté et http://feedback.telerik.com/Project/105/Feedback/Details/63749-unable-to-debug-asp-net- projets-avec-q3-2013

Une journée perdue et de nombreux nouveaux cheveux blancs ... Malédiction sur vous, les gars de Telerik! ;)

10
Jan Vilimek

Les étapes suivantes résolvent le problème de VS 2015 et VS 2017:


Fermer VS.

Accédez au dossier de la solution et supprimez le dossier hidden .vs.

ouvrir VS.

Hit F5 et IIS Express devraient se charger normalement, vous permettant ainsi de déboguer.

7
Ahmed Elbendary

Un autre scénario peut être que le port utilisé par IIS pour votre application est déjà utilisé par une autre application en cours d'exécution. Essayez de changer le port et voyez si cela fonctionne pour vous.

3
Yoky

J'ai commencé à avoir ce problème avec Asp.Net Core Web Applications dans Visual Studio 2017 . Peu importait qu'il s'agisse de la version .Net Core Standard avec .Net 4.5.2 ou de la version Core avec 1.1 dans mon cas. IISExpress s'est écrasé lorsque j'ai démarré le débogage.

Tout essayé, rien n'a fonctionné jusqu'à ce que je suis entré dans ajouter/supprimer des programmes dans Windows 10 et j'ai désinstallé .net core 1.0 runtime (j'avais à la fois 1.0 installé et 1.1). Une fois que cela a été désinstallé, j'ai lancé Visual Studio 2017 et mes applications Web .Net Core (les deux types) et ils ont tous deux recommencé à fonctionner!

2
Ashkan Hovold

Accédez au répertoire de projet .vs/config/et supprimez applicationhost.config. Puis redémarrez le projet.

Le problème similaire se produit dans aspdotnet core avec la même erreur The program '[xxxx] iisexpress.exe' has exited with code -1073741816 (0xc0000008).

La configuration du fichier journal dans web.config n’a pas non plus produit d’informations:

<aspNetCore  stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

Pour trouver l'erreur exacte, passez à l'étape suivante avec les informations de journal dans la commande Invite:

> dotnet restore
> dotnet run

Dans mon cas, le problème était dans dotnet core v 1.0.0 installé, alors que la version 1.0.1 devait être installée globalement.

1
Artru

Aucune des réponses ci-dessus n'a fonctionné pour moi, mais j'ai finalement trouvé quel était mon problème. Espérons que cela aidera quelqu'un en bout de ligne.

Exécutez d'abord IIS Express à partir de la commande Invite pour valider que le site peut ou ne peut pas être exécuté.

https://docs.Microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-from-the-command-line

Dans mon cas, j'ai eu une erreur en disant que C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\web.config avait malformé xml à la ligne 14. En regardant cette ligne dans le fichier, elle disait null null null null null etc.

La solution pour moi était de remplacer le fichier web.config par un de mes collègues. IMPORTANT vous devez obtenir le fichier de quelqu'un qui exécute la même version, c'est-à-dire que si vous êtes VS2015, vous devez en obtenir une copie. Si vous l'obtenez de quelqu'un qui exécute une version différente, vous verrez une erreur disant qu'il ne peut pas charger d'assembly à partir du manifeste.

Espérons que cela aide quelqu'un qui a essayé toutes les suggestions ci-dessus. Je pense que la cause en était la mise à jour à partir du mode d'évaluation et l'ajout d'une clé de produit dans VS2017.

0
JoeyD

Supprimer le fichier C:\Users\congt\Documents\IISExpress

0

Résolution de problème: Pour moi, le problème était lié aux sessions actives de chrome. J'ai fermé toutes mes sessions de navigateur Chrome, puis j'ai essayé à nouveau d'utiliser Chrome. J'utilise Visual Studio Professional 2017 version 15.3.2. L'application VS que je rencontrais dans les erreurs de génération était un projet WebAPI. Lorsque j'essayais de cliquer sur le bouton de lecture vert, une erreur de boîte de dialogue apparaissait: "Impossible de démarrer le programme ' http: // localhost: 18980/ '. Une opération n'est pas légale dans l'état actuel. J'espère que ce message vous aidera Quelqu'un.

0
Brian

Dans mon cas, le problème était que le répertoire virtuel n'avait pas été créé.

  1. Cliquez avec le bouton droit sur le fichier de projet Web et accédez aux propriétés.
  2. Naviguer sur le Web
  3. Faites défiler jusqu'à URL du projet
  4. Cliquez sur le bouton Créer un répertoire virtuel pour créer un répertoire virtuel.

 enter image description here

0
Shahid Iqbal

J'ai résolu ce problème pour moi. Essayez de changer toutes les valeurs Deny en Allow dans le fichier %SYSTEM_DRIVE%\Program Files\IIS Express\AppServer\applicationhost.xml. Veuillez prendre en compte quoi IIS = Web Server que vous utilisez dans les paramètres Visual Studio, 32 bits ou 64 bits, cela signifie que je dois vérifier le fichier dans différents dossiers. Puis redémarrez Visual Studio. Je ne connais pas les problèmes de sécurité pour ces lignes de configuration, alors changez-les à vos risques et périls, mais cela a résolu mon problème.

<section name="asp" overrideModeDefault="Allow" />
<section name="caching" overrideModeDefault="Allow" />
<section name="cgi" overrideModeDefault="Allow" />
<section name="defaultDocument" overrideModeDefault="Allow" />
<section name="directoryBrowse" overrideModeDefault="Allow" />
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
<section name="handlers" overrideModeDefault="Allow" />
<section name="httpCompression" overrideModeDefault="Allow" />
<section name="httpErrors" overrideModeDefault="Allow" />
<section name="httpLogging" overrideModeDefault="Allow" />
<section name="httpProtocol" overrideModeDefault="Allow" />

etc.

0
user6435807