34 votes

Comment configurer ASP.NET Core 1.0 pour utiliser IIS local au lieu d'IIS Express?

Comment puis-je configurer un .Net Core 1.0 projet d'utiliser IIS Local au lieu de IIS Express lors du débogage?

J'ai essayé de modifier launchSettings.json fichier de diverses manières. Par exemple, en remplaçant toutes les occurrences de IIS Express avec IIS Local et la mise à jour de la applicationUrl et launchUrl à utiliser mon personnalisée localhost http://sample.local (j'ai mis à jour le fichier hôte et configuré le gestionnaire des services IIS déjà), mais pas heureux.

Les paramètres par défaut des Propriétés/launchSettings.json fichier:

{
  "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"
      }
    }
  }
}

42voto

Sock Points 3300

Il est actuellement impossible d'utiliser directement IIS pour l'accueil d'un ASP.NET application de Base pendant le développement, comme le développement le dossier ne fournit pas tous les fichiers nécessaires IIS besoins de l'hôte. Ce qui fait courir un ASP.NET de Base dans le développement de l'environnement un peu de douleur.

Comme le souligne cet article de Rick Strahl, il n'y a pas beaucoup de raisons de l'essayer et de le faire. IIS ne fait que très peu lors de l'exécution de ASP.NET applications de Base - en fait, votre application ne fonctionne plus directement dans le processus IIS, au contraire, il s'exécute dans un tout autre console application hébergeant le Kestrel serveur web. Par conséquent, vous avez vraiment sont en cours d'exécution pour l'essentiel dans le même environnement lorsque vous vous auto-héberger votre application console.

Si vous ne devez publier votre application, vous pouvez le faire dans un dossier local, en utilisant soit l' dotnet de la ligne de commande, ou en utilisant les outils de Visual Studio.

Par exemple, si vous souhaitez publier à l' C:\output le dossier, vous pouvez utiliser la commande suivante:

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

Vous pouvez ensuite pointer votre Site IIS dans le dossier de sortie. S'assurer que vous définissez l'application de la piscine CLR version à Aucun Code Managé et que le AspNetCoreModule est disponible.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X