web-dev-qa-db-fra.com

Impossible de démarrer l'application Web ASP.NET Core RC2 dans IISExpress

J'ai créé un nouveau projet "Application Web ASP.NET Core (.NET Core)" dans VS2015. Il a construit sans aucun problème, alors j'ai pensé à faire un essai. Cependant, lors du démarrage, il s'est étouffé et s'est écrasé avec l'erreur suivante: 

Exception thrown: 'System.AggregateException' in Microsoft.AspNetCore.Server.Kestrel.dll
The program '[11608] dotnet.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.
The program '[15048] iisexpress.exe' has exited with code 0 (0x0).

Je ne vois rien d'autre enregistré. J'ai essayé de le déboguer, et tout ce que j'ai découvert, c'est qu'il s'est cassé lors de la méthode WebHostBuilder.Run() dans la classe Program. Cela fait partie du cadre, donc je n'ai pas pu aller beaucoup plus loin.

Notez que le programme fonctionne correctement lors de l'exécution via la commande dotnet run. Seul IISExpress ne fonctionne pas.

Comment dois-je procéder pour déboguer ce problème? 

Le fichier project.json est ci-dessous. (Il a été généré par Visual Studio, je n’ai rien changé.)

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0-rc2-3002702",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final"
  },

  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    },
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "gcServer": true
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

Mise à jour: j'ai créé un nouveau projet pour la version Core RTM et cette fois, cela a fonctionné. 

10
painiyff

J'ai mis à jour la version RTM de dotnet core et la création d'un nouveau projet à l'aide de la nouvelle version a fonctionné. Je suppose que ce doit être un bug.

4
painiyff

L'autre problème est que vous exécutez peut-être une ancienne version du framework. Essayez d’aller à la racine (project.json) de votre projet exécutable et dans un type Command Prompt

dotnet run
8
Serj Sagan

J'ai eu le même problème que toi. Pour moi, la solution a été de fermer VS2015, de supprimer le fichier project.lock.json puis de redémarrer VS. (project.lock.json sera généré automatiquement)

Il semble que le débogueur ne puisse pas s’attacher à l’application. Dans mon cas, j'ai ajouté un throw new Exception("..."); dans la première ligne de la fonction public Startup(IHostingEnvironment env) et l'application vient de mourir et ne casse pas comme prévu l'exception non gérée.

Après que project.lock.json ait été reconstruit, le débogueur fonctionne à nouveau correctement.

7
MDummy

J'ai eu la même erreur. La solution trouvée était que mon application x64 était configurée pour fonctionner en tant que x86 

0
Tony

J'ai la même erreur lorsque j'exécute mon projet (sans utiliser IIS) . Après quelques recherches, j'ai découvert que l'URL du serveur dans appsettings.json (qui utilisait dans Configuration) était déjà occupé. J'ai changé d'URL et cela a bien fonctionné . J'espère que ça aide quelqu'un!

0
Barabas

Pour ceux qui se heurtent à cela, j'avais exactement le même comportement et le même message d'erreur que ceux décrits dans la question.

Apparemment, il existe certains termes qui uniquement ne peuvent pas être utilisés comme nom de projet, tels que web ou app. (Je l'ai corrigé en renommant mon projet en WebApp)

Il était déjà consigné en tant que bogue et le correctif sera inclus dans les prochaines versions.

Malheureusement, après la première exécution ratée, un changement de nom de projet ne suffit pas, car le fichier de configuration IIS Express conserve l'ancienne entrée . Il suffit de modifier le fichier applicationhost.config situé à [PROJECT_ROOT]\.vs\config\ et de supprimer le site élément nommé web ou app, redémarrez VS et exécutez-le.

J'espère que ça aide!

0
João Pereira