Si è verificato un errore durante il tentativo di determinare l'ID di processo del processo DNX che ospita l'applicazione


101

Ricevo questo messaggio di errore quando provo ad avviare l'applicazione.

Si è verificato un errore durante il tentativo di determinare l'ID di processo del processo DNX che ospita l'applicazione

C'è un modo per risolvere il problema?

Risposte:


151

Per me il problema è stato risolto chiudendo Visual Studio, eliminando

project.lock.json

e riavviare Visual Studio.

Modifica : stavo usando RC1.


2
Risolto il mio problema nel progetto RC1
Nadav Hury

@NadavHury Stesso qui :)
ManyRootsofAllEvil

1
Risolto il problema che avevo con l'app RC1 di esempio scaricata da PluralSight, molto apprezzata
tomRedox

5
questo non funziona più. np microsoft. lo scopriremo. ancora e ancora e ... ANCORA

1
dov'è project.lock.json?
CodyBugstein

34

Microsoft ha modificato il modello di hosting come descritto nelle note di rilascio .

In project.jsonsostituzione della dipendenza

"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"

con

"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"


Nella web.confignella handlerssezione di rimuovere ogni voce di eccezione

<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

Il completo web.configsarà simile a questo:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

RC1: Durante l'utilizzo di RC1 ho riscontrato l'errore dopo aver spostato la cartella della soluzione. Dopo aver eliminato le cartelle bine objtutto ha funzionato di nuovo.
Come notato da user764754, anche il semplice riavvio di Visual Studio può aiutare.


Nel nuovo modello di hosting, non usi affatto web.config e puoi rimuoverlo completamente. HttpPlatformHandler e Startup.cs sostituiscono web.config, poiché ignori IIS in una certa misura.
cygnim

2
Uso i modelli più recenti dopo aver installato prima 1.0.0-beta8, quindi ho creato un nuovo progetto ASP.NET in VS 2015. Tutte le voci sono corrette, tuttavia ricevo lo stesso errore di Domysee. Qualcuno potrebbe spiegare cosa significano "% DNX_PATH%" e "% DNX_ARGS%"?
okieh

1
Dovrei chiarire, non hai bisogno di un web.config nel tuo progetto. Durante la compilazione viene generato un file web.config minimo che in pratica aggiunge HttpPlatformHandler alla pipeline e indirizza il traffico da IIS al server Kestrel. Quindi hai ragione, c'è un file web.config, ma non è necessario nel codice di base del tuo progetto.
cygnim

3
Il solo riavvio di VS lo ha fatto per me con RC-1, non sono richieste cancellazioni.
user764754

2
Ho avuto lo stesso problema con RC1, la soluzione per me era eliminare il web.config (in wwwroot)
rad

30

Per altre persone che hanno questo problema, nei casi in cui le altre soluzioni non funzionano, ho trovato la risposta in questo thread: Forzare l'uso di SSL: si è verificato un errore durante il tentativo di determinare l'ID di processo del processo DNX che ospita la tua applicazione

Se il tuo progetto utilizza o impone SSL, eseguilo senza debug (CTRL + F5) prima, ti chiederà di generare un certificato SSL locale, dopodiché il debug funzionerà e l'errore sparirà.


Questo ha risolto il problema per me. Avevo migrato il mio progetto su un nuovo computer su cui non era installato il certificato. Grazie.
Pace

Bello, è stato così! Lo noterò nella pagina "Abilitazione dell'autenticazione tramite Facebook ...", poiché le loro istruzioni includono la forzatura di SSL.
N8allan

Non sono riuscito a farlo funzionare facendo CTRL + F5. F5 ha funzionato dopo aver eseguito questo per fidarsi dei miei certificati iis express. Non avevo avvisi, ma questo mi ha risolto.
Josh Close

11

Per quello che vale, questo è un messaggio di errore generico che potrebbe fungere da falsa pista per qualsiasi numero di problemi in cui httpPlatformHandler non può avviare il dato eseguibile (dnx in questo caso).

Nel mio caso ho ricevuto questo errore come risultato diretto di un'incomprensione del file launchSettings.json. Stavo cercando di abilitare l'endpoint https per la mia applicazione e per errore ho duplicato sslport nel mio applicationUrl. A quanto mi risulta, applicationUrl dovrebbe essere il nome host / porta http dell'applicazione e compilando sslPort configura semplicemente l'ambiente IIS Express per ascoltare https sul nome host fornito in applicationUrl sulla porta fornita in sslPort.

Per esempio:

  "iisSettings": {
     "windowsAuthentication": false,
     "anonymousAuthentication": true,
     "iisExpress": {
       "applicationUrl": "http://localhost:44000",
       "sslPort": 44300
      }
  }

Fornisce i seguenti due endpoint su localhost.

  • HTTP sulla porta 44400
  • Https sulla porta 44300

Se dovessi avere la stessa porta nelle impostazioni applicationUrl e sslPort, riceverai l'errore associato a questo thread.

Questo è vero per me su RC1


Perché sslPort dovrebbe essere diverso da applicationUrl? Ha funzionato per me fino a RTM ...
Boris Lipschitz

Ho avuto l'errore: impossibile connettermi al server web "IIS Express" e dopo aver eliminato il file "\ .vs \ config \ applicationhost.config" ho ricevuto l'errore "si è verificato un errore durante il tentativo ...". In proprietà del progetto> debug ho deselezionato SSL, ho eseguito il debugger (funzionante), ho spuntato di nuovo SSL e copiato l'URL in "App URL", il debug in modalità SSL funziona di nuovo. L'errore è apparso dopo un aggiornamento di Windows, ma non sono sicuro che fosse la causa. Le mie impostazioni iis ora sono "iisExpress": {"applicationUrl": " localhost: 44369 ", "sslPort": 44369} .. funziona se i numeri di porta non sono gli stessi
JimiSweden

6

È possibile eseguire l'aggiornamento, ho scoperto che dovevo cercare i nuovi modelli aggiornati qui .

Aggiorna il tuo web.config in wwwroot per includere:

<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>

Dovrai anche cambiare il modo in cui il progetto esegue il debug usando Kestrel modificando il tuo project.json:

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
  "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}

e modificando il tuo hosting.ini

server=Microsoft.AspNet.Server.Kestrel

e aggiungendolo al metodo Configure in startup.cs

// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler(); 

l'aggiunta di questi riferimenti dovrebbe consentire di eseguire il progetto.


5

Ho riscontrato questo problema a causa della configurazione del progetto che tentava di avviare https: // localhost invece di http. Fare clic con il pulsante destro del mouse sul progetto web, in "Debug" e regolare "URL app" in modo che sia http anziché https. inserisci qui la descrizione dell'immagine

Un altro modo per aggirare il problema era cambiare il programma di avvio da "IIS Express" a "Web"


3

In Visual Studio:

Mentre seguivo questo tutorial ho ricevuto un errore simile.

Innanzitutto, ho ricevuto l'errore: "Si è verificato un errore durante il tentativo di determinare l'ID di processo di dotnet.exe ..." Ho eseguito i seguenti passaggi.

  1. Ho avviato la mia applicazione senza eseguire il debug CTRL + F5.
  2. Mi è stata quindi presentata un'opzione per accettare un certificato autofirmato per localhost.
  3. Ho seguito le istruzioni e poi sono stato in grado di visitare la mia applicazione utilizzando AppUrl che ho copiato dopo aver abilitato SSL nelle impostazioni di debug del progetto.

Durante il tentativo di risolvere questo errore, ho riscontrato anche questo errore. "Si è verificato un errore durante il tentativo di determinare l'ID processo del processo DNX che ospita la tua applicazione"

Che è stato causato dall'esecuzione di un'altra istanza dell'applicazione.

Spero che questa risposta aiuti qualcuno.


Aspetta, quindi la risposta è "causata dall'esecuzione di un'altra istanza dell'applicazione"? Dovrebbe renderlo più ovvio subito.
Bloodied

2

Nel mio caso in un progetto asp net core 1.1, .net framework 4.5.2, l'errore non si riferiva a dnx poiché non c'è più. Invece si riferiva al nome del progetto exe. Un'altra versione dell'errore si riferiva semplicemente all'impossibilità di connettersi a iis express.

Il problema era l'introduzione di una regola di riscrittura del nome host canonico che cerca di forzare tutte le connessioni ad avere un nome host che inizia con www. es. reindirizzare gty.org a www.gty.org per conformarsi al nostro certificato ssl. Questo va bene in produzione, ma non puoi forzare https: // localhost: 44347 / a iniziare con www e aspettarti che iis express sia in grado di gestirlo.

<rule name="CanonicalHostNameAddwww" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">        
        <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}{HTTP_URL}"  appendQueryString="false" redirectType="Permanent" />
</rule>

La soluzione era commentare la regola durante l'esecuzione in Visual Studio o aggiungere una condizione:

<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />

2

Supponendo che tu stia eseguendo IIS Express con SSL abilitato a seconda della tua installazione, dovrai inserire il tuo certificato di sviluppo IIS Express (rilasciato a "localhost" / emesso da "localhost") in [Computer locale \ Personale \ Certificati] o [Computer locale \ Certificazione radice attendibile \ Certificati]. Uno di questi dovrebbe funzionare. (Utilizzando Windows 10 + VS2015). HTH


L'aggiunta del certificato di sviluppo IIS Express in Computer locale \ Certificazione radice attendibile \ Certificati ha funzionato per me. Grazie! (Per chiunque altro, nel mio caso avevo già il certificato in Computer locale \ Personale \ Certificati)
David Aleu

1

Controlla il file web.config per le voci non valide. Ad esempio, avere il tag "entityFramework" lì causa questo problema per me.


1

Ho avuto questo problema quando ho attivato o disattivato le impostazioni e ho disabilitato " Abilita autenticazione anonima " in Progetto> Proprietà> Debug. Assicurati che sia abilitato. Chiudi e riavvia il progetto, quindi riprova. Spero che questo ti aiuti.


Ho avuto lo stesso problema, ma invece di dover abilitare solo anonimo, ho dovuto abilitare l'autenticazione anonima o di Windows. Se entrambi erano falsi, ho ricevuto l'errore.
birken25

1

Ho usato RC1 e EF First Code Approach. Una buona idea per iniziare la ricerca è eseguire il progetto con l'opzione: "Avvia progetto senza debbuging" (Ctrl + F5). Quindi ottengo un errore più significativo per me: "Impossibile leggere la sezione di configurazione 'entityFramework' perché manca una dichiarazione di sezione." Non ha funzionato per me a causa del file web.config.


1
  1. Aggiorna dnvm
  2. Cambia la versione di global.json sdk come predefinita di dnvm
  3. Non è necessario toccare project.json o project.lock.json

0

Durante l'aggiornamento da beta7 -> beta8 ho riscontrato questo problema ei suggerimenti forniti da Ben M e Domysee hanno funzionato per me. Tuttavia, uno dei miei colleghi aveva ancora problemi a eseguire il nostro progetto che ha come target dnxcore50solo. Se ti assicuri di aver eseguito i seguenti comandi:

dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86

Era il secondo comando in particolare che lo fissava sulla sua macchina. Puoi anche ricontrollare che questa cartella dnx.execontenga:

%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin

0

Ho appena scoperto un altro problema che stava causando questo!

web.confignella radice del progetto c'erano alcune regole di riscrittura dell'URL IIS poco affidabili per applicare HTTPS. La rimozione di queste regole ha risolto il problema.


0

Ci sono così tante cose che potrebbero causare questo errore. Eccone alcuni che hanno funzionato per me:

  1. Basta eliminare il web.confignella tua wwwrootcartella. Verrà ricreato correttamente durante la compilazione.
  2. Se stai cercando di utilizzare SSLe nel tuo IIS Expresse spostare il tuo SSL Certnella Trusted Root Certification Authoritiescartella non ha funzionato. Nella Debugscheda del Propertiesprogetto che stai tentando di eseguire. Prova a deselezionare la Enable SSLcasella di controllo e quindi a fare nuovamente clic per abilitarlo e ottenere una porta diversa. Potrebbe essere necessario farlo alcune volte.

0

Un'altra potenziale soluzione
Per chiunque giochi con le impostazioni SSL, ho scoperto che launchSettings.jsonil problema è stato risolto semplicemente cambiando la porta SSL nel file in un'altra porta vicina.

Cordiali saluti, non sono riuscito a trovare nulla sulla macchina utilizzando la porta originale, né ho ricevuto un errore di porta in uso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.