web-dev-qa-db-fra.com

Hébergement de projets ASP.NET 5 sur IIS

Je souhaite héberger mon projet ASP.NET 5 qui utilise MVC 6 et Entity Framework 7 sur une micro-instance gratuite d'Amazon. Je ne trouve aucun manuel étape par étape sur la façon d'héberger des projets ASP.NET 5 sur IIS, tous les documents mentionnent simplement que cela est possible mais sans aucun guide. Fondamentalement, je déploie vers un dossier local, puis je copie sur un site nouvellement créé, mais rien ne fonctionne. Malheureusement, je ne peux pas utiliser Azure car il ne dispose que d'un mois d'essai gratuit, pas d'un an.

35
Sergey Sypalo

J'utilise Visual Studio 2015 Preview pour créer des projets ASP.NET 5. Je ne pense pas que ce soit difficile à déployer sur IIS maintenant. Publiez d'abord votre site Web en le publiant en tant que système de fichiers dans l'aperçu VS 2015, puis copiez le dossier publié sur votre serveur, créez une application dans IIS et définissez le dossier d'application sur le dossier wwwroot (plutôt que sur le dossier racine), c'est tout. Soyez conscient, vérifiez si "Microsoft.AspNet.Server.IIS" existe dans votre projet de site Web. json avant de le publier.

Edit: il devrait y avoir un web.config dans le dossier wwwroot, le contenu de web.config peut être comme ceci (avec option de précompilation lors de la publication):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="kpm-package-path" value="..\approot\packages" />
    <add key="bootstrapper-version" value="1.0.0-beta1" />
    <add key="kre-package-path" value="..\approot\packages" />
    <add key="kre-version" value="1.0.0-beta1" />
    <add key="kre-clr" value="CoreCLR" />
    <add key="kre-app-base" value="..\approot\packages\Rvc.PopUpSite\1.0.0\root" />
  </appSettings>
</configuration>

ou comme ça (sans option de précompilation):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="kpm-package-path" value="..\approot\packages" />
    <add key="bootstrapper-version" value="1.0.0-beta1" />
    <add key="kre-package-path" value="..\approot\packages" />
    <add key="kre-version" value="1.0.0-beta1" />
    <add key="kre-clr" value="CoreCLR" />
    <add key="kre-app-base" value="..\approot\src\Rvc.PopUpSite" />
  </appSettings>
</configuration>

Veuillez noter la valeur de kre-app-base. Parfois, sa valeur est une chaîne vide après la publication dans Visual Studio.

23
Ricky

1. Vous devez d'abord publier le site dans le système de fichiers:

visual studio 2015 publish window

2. Créez une nouvelle application dans IIS:

Add website IIS manager buttonAdd website IIS manager window

3. Décompressez le fichier que vous avez créé à l'étape 1 dans le répertoire du site Web à partir de l'étape 2. Le dossier devrait ressembler à:

enter image description here

4. Vous devrez peut-être également installer DNVM (anciennement KVM) et l'environnement d'exécution DNX (anciennement KRE):

Installer le DNVM - Gestionnaire de version dotnet (KVM)

Installez l'environnement d'exécution DNX dans DNVM (KRE)

3
Nikolay Kostov

J'ai eu le même problème avec DNX Beta 4.

Si quelqu'un a le même problème:

Vous devez cibler le framework x64 (Target DNX Version) lorsque vous publiez votre site Web dans Visual Studio 2015 RC et écrivez "XXX\wwwroot" dans le chemin physique dans votre configuration de site Web IIS.

3
orrel

J'ai trouvé ce que j'ai manqué, je dois changer l'URL de mon DNS public dans le fichier projct.json:

"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http: //ec2-54-68-21-4.us-west-2.compute .amazonaws.com /

puis après avoir téléchargé le site sur Amazon, je dois exécuter web.cmd à la racine du site

1
Sergey Sypalo

Vous pouvez utiliser la méthode de publication du système de fichiers. Suivez ces étapes:
1/Générer dans un dossier avec Visual studio les fichiers .dll
2/Créez un site Web dans le gestionnaire IIS et indiquez le chemin d'accès à votre dossier

1
AnotherGeek