2015-11-17 2 views
6

Ich versuche, meine ASP.NET 5 WebApi auf einem Remote-Server (Windows Server 2008 R2) bereitzustellen und habe Probleme, damit es richtig ausgeführt wird IIS.Kann die Anwendung nicht laden oder den Befehl 'Microsoft.AspNet.Server.Kestrel' ausführen

project.json

{ 
    "webroot": "wwwroot", 
    "version": "1.0.0-*", 

    "dependencies": { 
    "App.Data": "1.0.0-*", 
    "App.Model": "1.0.0-*", 
    "App.Repository": "1.0.0-*", 
    "App.ViewModel": "1.0.0-*", 
    "AutoMapper": "4.1.1", 
    "Microsoft.AspNet.Authentication": "1.0.0-rc2-16009", 
    "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc2-16009", 
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc2-16136", 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc2-15873", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc2-16377", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc2-16017", 
    "Microsoft.AspNet.Server.WebListener": "1.0.0-rc2-15932", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc2-15916", 
    "Microsoft.Framework.Configuration.Json": "1.0.0-rc1-15666", 
    "Microsoft.Framework.Logging": "1.0.0-rc1-15644", 
    "Microsoft.Framework.Logging.Console": "1.0.0-rc1-15644", 
    "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211120828" 
    }, 

    "commands": { 
    "kestrel": "Microsoft.AspNet.Server.Kestrel", 
    "web": "Microsoft.AspNet.Server.Kestrel" 
    }, 

    "frameworks": { 
    "dnx451": { } 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules" 
    ], 
    "publishExclude": [ 
    "**.user", 
    "**.vspscc" 
    ] 
} 

wenn ich versuche, aus dem Browser auf die Anwendung zugreifen, bekomme ich keine Antwort. Und wenn ich web.cmd auf dem Server ausführen, bekomme ich folgende Fehlermeldung:

Error: Unable to load application or execute command 'Microsoft.AspNet.Server.Ke 
strel'. Available commands: kestrel, web. 
System.IO.FileNotFoundException: Le fichier spécifié est introuvable. (Exception 
de HRESULT : 0x80070002) 
    à System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence) 

    à System.Reflection.Assembly.LoadFile(String path) 
    à Microsoft.Dnx.Runtime.Loader.LoadContext.LoadFile(String assemblyPath) 
    à Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemb 
lyName, IAssemblyLoadContext loadContext) 
    à Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemb 
lyName) 
    à Microsoft.Dnx.Host.LoaderContainer.Load(AssemblyName assemblyName) 
    à Microsoft.Dnx.Host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyNam 
e) 
    à Microsoft.Dnx.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name 
, Func`2 factory) 
    à Microsoft.Dnx.Runtime.Loader.LoadContext.LoadAssemblyImpl(AssemblyName asse 
mblyName) 
    à Microsoft.Dnx.Runtime.Loader.LoadContext.ResolveAssembly(Object sender, Res 
olveEventArgs args) 
    à System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String as 
semblyFullName) 

Vielen Dank für Ihre Hilfe

+0

1. Sie rc1 und rc2 Pakete nicht mischen. Das ist ein Rezept für eine Katastrophe :) 2. Welche DNX-Version verwenden Sie? –

+0

Vielen Dank für Ihre Antwort. Ich benutze 1.0.0-rc2-16177 clr x86 Version. Die Anwendung läuft sehr gut auf IIS Express! – Amine

+0

Ich habe gerade etwas gesehen, das vorhin so aussieht ... hast du 'dnvm upgrade' ausgeführt? Das hat es für mich behoben. –

Antwort

22

sicher, dass Sie alle Abhängigkeiten auf Zielserver installiert haben. Führen Sie dnu list in cmd aus, um alle Projektabhängigkeiten anzuzeigen.

Wenn einige von ihnen nicht installiert sind (sie werden rot angezeigt), führen Sie dnu restore aus, um alle Pakete wiederherzustellen.

Sie können auch sicherstellen, dass Ihr Projekt dnu build, indem Sie erfolgreich baut

Hoffe, es hilft ..

Verwandte Themen