2015-11-17 16 views
6

Sto tentando di distribuire il mio ASP.NET 5 WebApi su un server remoto (Windows server 2008 R2) e sto avendo problemi a farlo funzionare correttamente con IIS.Impossibile caricare l'applicazione o eseguire il comando "Microsoft.AspNet.Server.Kestrel"

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

quando provo ad accedere all'applicazione dal browser, non ottengo alcuna risposta. E quando eseguo web.cmd sul server, ottengo il seguente errore:

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) 

Grazie per il vostro aiuto

+0

1. Non mescolare RC1 RC2 pacchetti. Questa è una ricetta per il disastro :) 2. Quale versione DNX usi? –

+0

Grazie per la risposta. Sto usando la versione 1.0.0-rc2-16177 clr x86. L'applicazione funziona molto bene su IIS Express! – Amine

+0

Ho appena visto qualcosa che assomiglia a questo un attimo fa me stesso ... hai lanciato 'dnvm upgrade'? Questo lo ha risolto per me. –

risposta

22

Accertarsi che siano presenti tutte le dipendenze installate sul server di destinazione. Esegui dnu list in cmd per vedere tutte le dipendenze del progetto.

Se alcuni di essi non sono installati (appariranno in rosso) eseguire dnu restore per ripristinare tutti i pacchetti.

È anche possibile fare in modo che il progetto costruisce con successo eseguendo dnu build

Speranza che aiuta ..

Problemi correlati