web-dev-qa-db-fra.com

Comment configurer ASP.NET Core 1.0 pour utiliser Local IIS au lieu de IIS Express?

Comment puis-je configurer un . Projet Net Core 1.0 à utiliser IIS local au lieu de IIS Express lors du débogage?

J'ai essayé de modifier le fichier launchSettings.json de différentes manières. Par exemple, remplacer toutes les occurrences de IIS Express par IIS local et mettre à jour les applicationUrl et launchUrl pour utiliser mon hôte local personnalisé http : //sample.local (J'ai mis à jour le fichier Host et configuré IIS manager déjà) mais pas content.

Paramètres par défaut du fichier Properties/launchSettings.json :

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:38601/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "SampleApp": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}
34
Oluwafemi

Vous ne pouvez pas actuellement utiliser directement IIS pour héberger une application ASP.NET Core pendant le développement, car le dossier de développement ne fournit pas tous les fichiers nécessaires IIS doit Hôte, ce qui rend l'exécution d'un ASP.NET Core dans un environnement de développement un peu pénible.

Comme indiqué dans cet article de Rick Strahl , il n'y a pas beaucoup de raisons d'essayer de le faire. IIS fait très peu lors de l'exécution des applications ASP.NET Core - en fait, votre application ne s'exécute plus directement dans le processus IIS, au lieu de cela, elle s'exécute dans un environnement complètement séparé application console hébergeant le serveur Web Kestrel. Par conséquent, vous utilisez vraiment essentiellement le même environnement lorsque vous auto-hébergez votre application console.

Si vous avez besoin de publier votre application, vous pouvez le faire dans un dossier local, en utilisant soit la ligne de commande dotnet, soit en utilisant les outils Visual Studio.

Par exemple, si vous souhaitez publier sur le C:\output, vous pouvez utiliser la commande suivante:

dotnet publish
  --framework netcoreapp1.0 
  --output "c:\temp\AlbumViewerWeb" 
  --configuration Release

Vous pouvez ensuite pointer votre site IIS vers le dossier de sortie. Assurez-vous de définir la version CLR du pool d'applications sur Aucun code géré et que le AspNetCoreModule est disponible.

Pour plus de détails, voir https://docs.asp.net/en/latest/publishing/iis.html

41
Sock