ASP.NET de Base 1.1 fonctionne très bien en local, mais lors de la publication d'Azur dit “Une erreur est survenue lors du démarrage de l'application.”

J'ai été l'élaboration d'un ASP.NET Base web app, largement basé sur le modèle MVC fournies dans Visual Studio 2017 RC2. Il fonctionne très bien en local en mode debug, mais quand j'essaie de le publier sur un Azure web hébergé application, j'obtiens cette erreur:

ASP.NET de Base 1.1 fonctionne très bien en local, mais lors de la publication d'Azur dit “Une erreur est survenue lors du démarrage de l'application.”

Une erreur s'est produite lors du démarrage de l'application.

.NET Core X86 v4.1.1.0 | Microsoft.AspNetCore.L'hébergement de version
1.1.0-rtm-22752 | Microsoft Windows 6.2.9200

J'ai essayé de réglage stdoutLogEnabled="true" dans le web.fichier de config, mais il ne semble pas avoir d'effet, l'erreur est la même.

Mise à jour:

Avec un peu d'aide, j'ai réussi à récupérer le journal, et il dit:

Application startup exception: System.TypeLoadException: Could not load type 'System.IO.File' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'.    
   at Microsoft.Extensions.DependencyModel.FileWrapper.OpenRead(String path)
   at Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadEntryAssemblyContext(IDependencyContextReader reader)
   at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)    
   at Microsoft.Extensions.DependencyModel.DependencyContext.Load(Assembly assembly)    
   at Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(String entryPointAssemblyName)    
   at Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions.GetApplicationPartManager(IServiceCollection services)    
   at Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions.AddMvcCore(IServiceCollection services)    
   at Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(IServiceCollection services)    
   at Bla.Api.Startup.ConfigureServices(IServiceCollection services) in C:\Users\user\Source\Workspaces\Bla\Bla.Api\src\Bla.Api\Startup.cs:line 73
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

Hosting environment: Production    
Content root path: D:\home\site\wwwroot    
Now listening on: http://localhost:1264    
Application started. Press Ctrl+C to shut down.

La ligne de code, il se réfère à la ligne 73 est:

services.AddMvc();

Mise à jour:

Mon global.fichier json ressemble à ceci (où Bla.L'Api est le nom du projet, et le fichier se trouve dans la solution de dossier racine).

{
  "projects": [ "Bla.Api" ],
  "sdk": {
    "version": "1.1.0"
  }
}
  • Il est possible que vous utilisez une version différente de l' .NET SDK Azure que vous êtes en cours d'exécution localement. Envisager l'ajout d'un mondial.fichier json pour votre projet de pins le SDK à une version spécifique. docs.microsoft.com/en-us/dotnet/articles/core/tools/...
  • Merci pour l'astuce Shaun! Mon modèle n'est pas venu avec une approche globale.fichier json, j'ai donc créé un et de le mettre dans la solution du dossier racine. J'ai essayé un couple de différents numéros de version du SDK (1.1.0 et 1.1.0-rtm-22752) mais je ne pense pas qu'il ait eu un quelconque effet. Rien ne s'est passé. Peut-être que je suis absent quelque chose?
  • Aussi, comme l'autre jour, j'ai patiemment re-créé ce que j'ai fait hier dans un tout nouveau VS 2017 RC3 modèle pour 1.1.0 (qui est différent d'avant, ils ont retiré le dossier src et il semble beaucoup plus propre). Je l'ai eu pour le même debug état de fonctionner comme avant, mais sur publier, une fois encore, il ne fonctionne pas. Je ne crois Azure manque de quelque chose mais je ne sais pas comment faire pour l'obtenir il.
  • Ce SDK version exécutez-vous localement. Essayez dotnet --version à trouver à partir de la ligne de commande. Ensuite, utilisez cette version dans votre global.json et coller votre global.fichier json dans votre question.
  • On dirait qu'il est la version 1.1.0, je l'ai collé dans la question de mon global.json.
  • Pour mettre à jour correctement votre global.json, vous devez ajouter le numéro de version complet. Par exemple, sur ma machine dotnet --version sorties 1.0.0-rc3-004517 et mon global.json version propriété comprend l'ensemble de ce numéro de version.
  • Pour moi, la version complète est 1.1.0, avoir un regard sur ma capture d'écran: imgur.com/a/b1qAz
  • C'est qu'à partir de l'exécution dotnet --version à partir de la ligne de commande? Quel système d'exploitation êtes-vous en cours d'exécution localement?
  • Ouais c'est de courir à partir de la ligne de commande. Je suis sur Windows 10 à la maison.
  • Avez essayé d'ajouter d'exécution? "runtimes": { "win10-x86": {}, "win10-x64": {}, "win7-x64": {},"win7-x86": {} }
  • Salut Tom Soleil, j'ai essayé d'ajouter ce que vous avez suggéré dans le monde.json, en vain 🙁 je suis même allé aussi loin que la suppression de l'application web dans Azure et la création d'une nouvelle marque à partir de zéro, dans le cas où il n'y avait pour une raison quelconque vieux .dll assis autour, et je suis toujours la même erreur...
  • Attendez, je crois que cela a fonctionné! Re-création d'une nouvelle Azure Web App fait le tour. La nouvelle erreur est que j'avais une variable d'environnement manquantes (comme c'était une nouvelle application web et je n'avais pas encore créé). Après je l'ai installé, il était bien. Donc mon hypothèse au sujet de la précédente application web étant en quelque sorte foiré étaient correctes je pense... en tout cas, merci pour l'aide de tous! Woo!
  • Je vous invite à passer de 20 minutes à taper vos propres réponses en tant que post-mortem. Il serait intéressant pour moi de lire, de savoir exactement ce qui s'est passé.
  • J'ai écrit un bref récapitulatif de ce qui a fait et n'a pas de travail, et ce que j'ai appris 🙂 Merci encore à tous pour votre aide. Je suis tellement content qu'il soit enfin de travail 😀

InformationsquelleAutor derf26 | 2017-01-28