La creazione di una directory virtuale non è riuscita con l'errore


89

Non riesco a risolvere questo problema

inserisci qui la descrizione dell'immagine

Suggerisco di cambiare c:\Windows\System32\drivers\etc\hostsfile e aggiungere dopo

# localhost name resolution is handled within DNS itself.

la riga successiva:

127.0.0.1       mysite.dev

ma non aiuta. Eventuali suggerimenti?

Si verifica un errore quando provo ad aprire il progetto del sito Web in Microsoft Visual Studio 2012.



È il secondo o terzo collegamento di Google, ho trovato una soluzione durante la ricerca in Internet. Non è quello che mi serve.
Dmytro

Risposte:


167

Il più delle volte, almeno nel mio caso, ciò accade quando un *.csproj.userfile si trova nella directory del progetto e contiene <UseIISExpress>true</UseIISExpress>.

In alternativa, come accennato da Zachary Cutler puoi anche semplicemente: chiudere Visual Studio, eliminare il *.csproj.userfile e riaprire Visual Studio . Ciò costringerà VS a ricostruire il file.


1
questo non funziona per me, dopo l'aggiornamento vs2017 15.7.1, ho avuto questo problema.
Marsen Lin

Grazie mille!
Reuben Tanner

2
Questo non ha funzionato per me. Ho cancellato la .vscartella. cancellato *.csproj.usere dà ancora lo stesso errore.
Zapnologica

1
questo ha funzionato anche per me, ho appena cancellato il file [myproj] .csproj.user e si è caricato - questo era in VS2019 - in esecuzione in modalità amministratore
Mark

33

Ho già trovato la soluzione. Dovevo solo modificare il C:\Users\Administrator\Documents\IISExpress\config\applicationhost.configfile, aggiungendo il mio sito a <sites>node.


Nel caso in cui questa non fosse la risposta per te e se ti trovi nella mia situazione, ho eliminato la directory .vs per svuotare la cache e non ho notato che Visual Studio aveva modificato la mia configurazione di build predefinita in una generata automaticamente che era configurato per utilizzare IISExpress. Quindi, se avessi un progetto che funzionava bene e poi interrompi il caricamento, ti suggerirei prima di fare qualsiasi altra cosa per controllare la configurazione della build (cosa che ovviamente non sono riuscita a fare)
saminpa

Oops, anche se il mio precedente commento "utile" era accurato, non era la causa principale del messaggio di errore criptico. Questo sarebbe il fatto che la cartella .vs ricreata automaticamente ereditasse la crittografia NTFS. Torna alla normalità senza dover modificare il file di progetto dopo aver decrittografato quella cartella.
saminpa

Funziona anche dopo 6 anni. Ho riscontrato questo problema con l'ultima versione di vs2017. Ma l'ho risolto usando le informazioni sopra.
Attesi

Quando si usa locale applicaionhost.configrispetto a quello nella cartella della soluzione?
Zapnologica

19

Puoi scegliere di installare IIS localmente e modificare un paio di tag sul file .csproj. Apri il tuo file csproj e vai alla sezione <VisualStudio>quindi trova il tag <UseIIS>True</UseIIS> deve essere impostato come true, quindi vai a tag: <IISUrl>e configura con l'indirizzo URL in cui l'applicazione sarà ospitata per il test:

<VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>False</AutoAssignPort>
          <DevelopmentServerPort></DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          **<IISUrl>http://localhost/myWebSiteAppSample</IISUrl>**
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>

E questo è. Ora puoi caricare normalmente il tuo progetto.


Divertente, questa è la risposta per il mio caso.
coffekid

3
Con una nota: gli **asterischi non dovrebbero essere nel file. Ovviamente.
ErikE

16

Il problema sarebbe che la configurazione del progetto verrà eseguita nell'IIS locale e l'URL specificato non esiste.

Ci sono opzioni che puoi fare per risolvere il problema.

Opzione 1 : (utilizza IIS Express)

1.) Apri il file .csproj del tuo progetto web come XAML o nel blocco note.

2.) Trova queste proprietà e impostale in base alle tue preferenze.

UseIIS = false

UseIISExpress = true

e questo è tutto.

Opzione 2 : (utilizza IIS locale)

Segui i passaggi dell'opzione 1 ma modifica le seguenti proprietà.

UseIIS = true

IISUrl = https: // localhost

UseIISExpress = false


Opzione 1 non funzionante
Metin Atalay

L'opzione 2 ha funzionato per me, dovevo solo impostare UseIIS = true
Joshlo

L'opzione 2 ha funzionato :)
Senura Dissanayake

9

Il problema può essere risolto eliminando la cartella denominata .vs nella directory del progetto.

Questo risolve il problema perché durante l'apertura del progetto dopo aver eliminato il file .vs, crea la stessa cartella con la sottocartella config e la cartella con il nome del progetto.

La cartella di configurazione applicationhost contiene le impostazioni necessarie richieste per eseguire correttamente il progetto.


6

Sono appena andato alla directory indicata nell'errore e ho rinominato applicationhost.config e riavviato e VS ha creato un nuovo file ed è andato bene.


2
  • Ho provato diversi approcci menzionati nelle risposte, ma quello che alla fine ha funzionato per me è stato lo scambio <IISUrl>di .csprojcon <CustomServerUrl>.

Modificare :

  • Quanto sopra non ha risolto la causa principale del problema per me. Tuttavia, se di recente hai eseguito un aggiornamento di Windows, forse potrebbe essere la ragione che sta causando il problema. Prova a eseguire netsh http add iplisten 0.0.0.0e vedere se risolve il problema.

Spero che questi aiutino qualcuno che sta ancora cercando un modo.


1
Di tutte le cose (e intendo TUTTE), questa ( <CustomServerUrl>) è quella che alla fine ha fatto il trucco per me. Grazie mille!
Ash

1

Non so perché, dal mio applicationhost.configfile mancava completamente dalla mia C:\Users\Administrator\Documents\IISExpress\config\cartella.

Copia / incolla C:\inetpub\history\applicationhost.configin quella cartella sembrava risolvere il problema per me.

Ho avuto l'idea da qui .


Nel mio caso il file è stato danneggiato. quindi l'ho cancellato e sostituito con un file applicationhost.config trovato nella ricerca di sistema. Non ho i diritti di amministratore, quindi non posso accedere a inetpub \ history. Penso che Visual Studio si aspetti sempre questo file di configurazione, ma dopo di ciò, anche se ho cancellato ripetutamente il file applicationhost.config da IISExpress \ config location, VS ha continuato a crearlo. Sembra che a volte le impostazioni vengano danneggiate, ma una volta che sono in linea con le impostazioni corrette, VS si occupa di tutte le impostazioni da solo.
kumar chandraketu

1
  1. Attiva le funzionalità di Windows "Internet Information Services" nel pannello di controllo.
  2. Apri il file ".csproj" e trova
  3. Modifica questa riga in base alle tue esigenze. http: // localhost: 777 /
  4. Apri il progetto / soluzione ora
  5. Se il caricamento non è riuscito di nuovo, fai clic con il pulsante destro del mouse sulla soluzione e seleziona "Ricarica progetto".

1

So che questo è probabilmente un evento raro, ma ho pensato di inserirlo qui:

Il mio csprojfile era impostato su "sola lettura" (non chiedetemi come ci sono riuscito), ma dopo aver disattivato l'accesso in "sola lettura", è andato tutto bene. (VS2017)


0

Stavo affrontando lo stesso problema a causa della mia password di rete modificata. Ho cambiato la mia password di accesso a NetExtendor ma devo accedere al mio laptop con la vecchia password.

Prova questi passaggi per risolvere questo problema:

accedi al computer con qualsiasi password funzioni accedi a vpn con qualsiasi password funzioni ctl-alt-del per bloccare il pc quindi usa la nuova password per sbloccarlo

Ha funzionato per me :-)

Grazie!


0

Non è esattamente lo stesso errore, ma sono stato portato a questa risposta poiché la prima metà dell'errore corrispondeva. Il tuo file applicationhost.config potrebbe essere semplicemente di sola lettura. Toglierlo ha risolto l'errore per me. Questo errore richiama il file in modo specifico, quindi dovresti essere in grado di trovarlo facilmente.


0

Il mio problema era con Windows 10 Defender. Avevo dato l'autorizzazione a IIS in passato, ma sembra che ora lo stia ignorando. Lo esamineremo più tardi, ma per ora ho disabilitato l'accesso alle cartelle controllate e ha funzionato.


0

Volevo aprire un progetto in uscita di Visual Studio 2017 in VS 2019 e ho riscontrato lo stesso problema. Trovo che sia un problema relativo alla versione. La soluzione è: creare un nuovo progetto nel nuovo VS e copiare i codici dal vecchio VS.


Benvenuto in SO! Nella domanda, non viene menzionata alcuna modifica alla versione VS. Quando pubblichi una risposta, controlla di rispondere alla domanda. In caso contrario, crea una domanda con questo problema e rispondi a te stesso, in modo che possa aiutare la community.
David García Bodego

0

Prova a decrittografare il file applicationhost.config. Ha funzionato per me.


-1

Quindi ecco i passaggi per risolverlo:

  1. Vai dove si trova il tuo file .csproj. Di solito è una directory sotto la soluzione (.sln)
  2. Fare clic con il tasto destro e aprire con un editor di testo (blocco note)
  3. Trova il tag IISUrl e sostituisci il suo contenuto per http: // localhost: (YourPortNumber)
  4. Salva e ricarica il tuo progetto!
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.