2016-05-19 14 views
10

Ho creato un nuovo progetto "Applicazione Web di base di ASP.NET (.NET Core)" in VS2015. Ha costruito senza problemi, quindi ho pensato di dargli una prova. Tuttavia, quando si avvia in su, soffocato e si è schiantato con il seguente errore:Impossibile avviare l'applicazione Web ASP.NET Core RC2 in IISExpress

Exception thrown: 'System.AggregateException' in Microsoft.AspNetCore.Server.Kestrel.dll 
The program '[11608] dotnet.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'. 
The program '[15048] iisexpress.exe' has exited with code 0 (0x0). 

Non vedo nient'altro registrato. Ho provato il debug, e tutto quello che ho scoperto è che si è rotto durante il metodo WebHostBuilder.Run() nella classe Program. Fa parte del framework, quindi non sono stato in grado di andare oltre.

Si noti che il programma funziona correttamente quando è in esecuzione tramite il comando dotnet run. Solo IISExpress non funziona.

Come si deve eseguire il debug di questo problema?

Il file project.json è di seguito. (E 'stato generato da Visual Studio, non ho cambiato nulla.)

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0-rc2-3002702", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview1-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "gcServer": true 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

Aggiornamento: Ho creato un nuovo progetto per il rilascio RTM core, e questa volta ha funzionato.

+0

Hai guardato attraverso la [zona errori comuni] (https://docs.asp.net/en/latest/ publishing/iis.html # common-errors) nei documenti? –

+0

Ho lo stesso problema ... rimuovere project.lock.json NON risolve il problema per me ... semplicemente nessun debug disponibile in VS per asp.net core rc2 a tutti ... non ok. –

+0

scratch that ... I did not have host.UseIISIntegration(). Combinalo con l'eliminazione di project.lock.json e ha iniziato a funzionare. –

risposta

4

Ho aggiornato alla versione RTM di core dotnet e creando un nuovo progetto utilizzando la nuova versione lavorata. Immagino che dev'essere un bug.

7

Ho avuto lo stesso problema di te. Per me la soluzione era chiudere VS2015, eliminare il file project.lock.json e quindi riavviare nuovamente VS. (project.lock.json verrà generato automaticamente)

Sembra che il debugger non possa collegarsi all'applicazione. Nel mio caso ho aggiunto uno throw new Exception("..."); nella prima riga della funzione public Startup(IHostingEnvironment env) e l'applicazione muore e non si interrompe in caso di eccezione non gestita come previsto.

Dopo il project.lock.json è stato rigenerato il debugger funziona di nuovo bene.

+0

Rimuovere project.lock.json mi aiuta anche. – psulek

+7

Non ha funzionato per me ... :( – painiyff

+0

Grazie. Ha funzionato per me :) – thangchung

0

Per chi urtasse, ho avuto lo stesso comportamento e il messaggio di errore esattamente come descritto nella domanda.

quanto pare ci sono alcuni termini che non possono esclusivamente essere utilizzato come nome del progetto, come web o app. (Ho risolto il problema rinominando il mio progetto in WebApp)

Era già logged as a bug e la correzione verrà inclusa nelle prossime versioni.

Sfortunatamente, dopo la prima esecuzione non riuscita, un rinominare un progetto non è sufficiente per farlo funzionare, poiché il file di configurazione di IIS Express mantiene la voce precedente. È sufficiente modificare il file applicationhost.config situato a [PROJECT_ROOT]\.vs\config\ e rimuovere l'elemento site denominato web o app, riavviare VS ed eseguirlo.

Spero che aiuti!

0

Ho lo stesso errore quando eseguo il mio progetto (non utilizzando IIS). Dopo alcune indagini ho scoperto che l'URL del server in appsettings.json (che utilizzava nella configurazione) era già occupato. Ho cambiato l'URL e ha funzionato bene. Spero che aiuti qualcuno!

0

Ho avuto lo stesso errore. La soluzione è stata trovata che la mia app x64 è stata configurata come x86

8

L'altro problema è che potrebbe essere in esecuzione una versione precedente del framework. Provate ad andare alla radice (project.json) ubicazione del progetto eseguibile e in un tipo Command Prompt:

dotnet run 
+3

Ho avuto questo e ho cambiato tutti i file con cui la gente aveva problemi (ho trovato molti riferimenti). Alla fine, per quanto stupido sia, quando ho aggiornato tutti i miei riferimenti per utilizzare 1.1.0, non ho installato il runtime effettivo 1.1.0 sul mio computer di sviluppo. Grazie! – johnny