2016-01-12 7 views
7

Ho un'applicazione Web Asp.net 5 che funziona e funziona bene in fase di sviluppo (da Visual Studio o codice VS non posso lanciare nessun problema). Tuttavia, dopo aver pubblicato con successo l'applicazione, quando si cerca di lanciare il sito web con "web.cmd" appare il seguente errore e impedisce il sito web da sempre si carica:Asp.net 5 Eccezione di avvio dell'applicazione Web dopo la pubblicazione riuscita

Application startup exception: System.IO.FileNotFoundException: Could not load file or assembly 'my-ng2-website' or one of its dependencies. The system cannot find the file specified. 
 
File name: 'my-ng2-website' ---> System.IO.FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002) 
 
    at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence) 
 
    at System.Reflection.Assembly.LoadFile(String path) 
 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.LoadFile(String assemblyPath) 
 
    at Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemblyName, IAssemblyLoadContext loadContext) 
 
    at Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemblyName) 
 
    at Microsoft.Dnx.Host.LoaderContainer.Load(AssemblyName assemblyName) 
 
    at Microsoft.Dnx.Host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyName) 
 
    at Microsoft.Dnx.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name, Func`2 factory) 
 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.LoadAssemblyImpl(AssemblyName assemblyName) 
 
    at Microsoft.Dnx.Runtime.Loader.LoadContext.ResolveAssembly(Object sender, ResolveEventArgs args) 
 
    at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName) 
 
    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
 
    at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
 
    at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
 
    at System.Reflection.Assembly.Load(AssemblyName assemblyRef) 
 
    at Microsoft.AspNet.Hosting.Startup.StartupLoader.FindStartupType(String startupAssemblyName, IList`1 diagnosticMessages) 
 
    at Microsoft.AspNet.Hosting.Internal.HostingEngine.EnsureStartup() 
 
    at Microsoft.AspNet.Hosting.Internal.HostingEngine.EnsureApplicationServices() 
 
    at Microsoft.AspNet.Hosting.Internal.HostingEngine.BuildApplication()

Ho cercato di alta e basso per soluzioni. Non riesco a capire quale dipendenza mi manca. Ho provato

cancellando il package.lock.json

dnů ripristino

Qui è la mia impostazione di configurazione dnx per il progetto: enter image description here

Ecco le impostazioni per la pubblicazione:

enter image description here

Qualcuno può leggere queste foglie di tè?

+0

pubblicare impostazione cambiato ** my-NG2-sito ** a ** my-NG2-sito-compilato ** – ymz

+0

sì, questo è un refuso - ma le vere impostazioni di pubblicazione sono qualcosa di completamente diverso. ho inventato "my-ng2-website" per la visualizzazione qui – brando

+0

L'assemblea viene pubblicata? O forse viene ribattezzato quando viene pubblicato. – jtlowe

risposta

1

Solo per il gusto di farlo, ho impostato su "Compila i file sorgente in pacchetto Nuget" su falso. E ora funziona.

enter image description here

Perché funziona, non lo so. Ma speriamo che questo aiuti qualcun altro.

1

Buona giornata. Abbiamo avuto pochi incontri con questo tipo di errore. Spesso punta a un assembly mancante (il più comune). Controllare tutti i riferimenti necessari, impostare Copia locale -> true, aiuta la maggior parte del tempo. Poiché gli assembly/i riferimenti non saranno inclusi nella pubblicazione se sono impostati su Copia locale -> falso.

Spero che questo aiuti.

+0

Dove si imposta Copia locale -> vero? Nel profilo pubblico è presente l'impostazione CopyLocalFilesOutputGroupDependsOn. – brando

+0

intendevo il profilo di pubblicazione, non il profilo pubblico – brando

0

Questo errore ha a che fare con il file global.json che si trova nella directory del progetto (non quella della soluzione). Se si desidera pubblicare il progetto con l'opzione di compilazione on assicurarsi di aggiungerlo al publishExclude nel vostro project.json

"publishExclude": [ 
    "**.user", 
    "**.vspscc", 
    "global.json" 
],