Il progetto di applicazione Web […] è configurato per utilizzare IIS. Impossibile trovare il server Web […].


285

Ho un progetto Web nel mio file di soluzione "non disponibile" quando apro la soluzione. Quando faccio clic con il pulsante destro del mouse sul progetto Web e ricarico il progetto, viene visualizzato il seguente errore:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

Non ho impostato manualmente le directory virtuali per questa applicazione Web.

Per i colleghi, Visual Studio dovrebbe chiedermi di creare directory virtuali ma non mi viene richiesto.

Ho installato VS2010 prima di installare IIS sul mio computer di sviluppo.

Ecco la mia configurazione della macchina di sviluppo:

  • Windows 7 Enterprise
  • Service Pack 1
  • Sistema operativo a 64 bit
  • Visual Studio 2010 Enterprise Service Pack 1
  • IIS versione 7.5

Risposte:


87

In questo caso, la soluzione più semplice è creare manualmente la directory virtuale.

Prima di tutto, devi assicurarti di aver installato la versione corretta di ASP.Net e di aver installato le estensioni IIS.

Per fare ciò, vai alla cartella della versione .net pertinente in C: \ (Windows) \ Microsoft.NET \ Framework \ (dotnetver) \ (sostituendo le cartelle tra parentesi con le cartelle giuste sul tuo PC) ed esegui questo comando

aspnet_regiis.exe -i

La prossima volta che viene eseguito e terminato, a volte in esecuzione

iisreset

dalla riga di comando aiuta, a volte non è necessario.

Quindi, vai al tuo IIS Manager e trova il tuo sito web localhost e scegli aggiungi una cartella. Passare alla cartella nel progetto che contiene il progetto ASP.Net effettivo e aggiungerlo.

Infine, fai clic con il pulsante destro del mouse sulla cartella che hai aggiunto e dovresti avere un'opzione che dice 'Converti in applicazione' o 'Crea directory virtuale' o qualcosa di simile.

!! Assicurati che la directory virtuale abbia il nome "MyWebApp" !!

Ricarica la tua soluzione e dovrebbe funzionare.

Si prega di diffidare; questa non è una domanda di programmazione (e non dovrebbe essere pubblicata qui) ma ho pubblicato questa guida poiché è un problema comune, ma il consiglio che ho pubblicato è generico; i comandi che ho elencato sono corretti ma i passaggi che è necessario eseguire in IIS possono variare, dipende dalla versione e dai privilegi dell'account.

In bocca al lupo!


Ho seguito le indicazioni e ho ricevuto il seguente errore. Ho eliminato la mia directory virtuale a causa di questo errore per cominciare. Impossibile aggiungere la voce di raccolta duplicata del tipo 'aggiungi' con l'attributo chiave univoco 'nome' impostato su 'Telerik_Web_UI_WebResource_axd'
dotnet-practitioner

Cosa dà quell'errore, IIS o Visual Studio all'avvio della soluzione?
Russ Clarke,

Inoltre, controlla web.config per il tuo nuovo progetto asp.net, ha due o più riferimenti a 'Telerik.WebResource.axd' ne ha bisogno solo uno.
Russ Clarke,

Ho controllato web.config .. quando rimuovo la voce incriminata poi ricevo il messaggio di errore che la voce rimossa è necessaria.
dotnet-practitioner

sta per pubblicare una domanda separata a breve per il nuovo messaggio di errore
dotnet-practitioner

523

Poiché la risposta accettata richiede Gestione IIS e IIS Express non ha Gestione IIS o alcuna interfaccia utente, ecco la soluzione per voi utenti di IIS Express (e dovrebbe funzionare anche per tutti gli altri):

Quando apri Visual Studio e ricevi il messaggio di errore, fai clic con il pulsante destro del mouse su Esplora soluzioni progetto e scegli "Modifica {Nome progetto} .csproj"

Nel file di progetto, modificare la seguente riga:
<UseIIS>True</UseIIS>
per
<UseIIS>False</UseIIS>
salvare il file.

Ora ricarica il tuo progetto.
Fatto.

Sarai quindi in grado di aprire il tuo progetto. Se a questo punto vuoi usare IIS, vai semplicemente alle proprietà del tuo progetto, fai clic sulla scheda "Web" e seleziona l'opzione per usare IIS. C'è il pulsante lì per "Crea directory virtuale". Potrebbe essere necessario eseguire Visual Studio come amministratore per creare quella directory, quindi, se necessario, farlo.


33
in VS2010 UseIIS non è nel file csproj, ma nel file
.csproj.user

2
Nel mio caso voglio ancora usare IIS, quindi ho semplicemente cambiato l'URL, ha funzionato perfettamente grazie.
Kjetilh,

Ho riscontrato questo problema durante l'aggiornamento e lo spostamento. Questo ha funzionato per me anche se poiché la soluzione non stava caricando ho appena aperto CSproj nell'editor di testo. Grazie Doug.
Kieran,

2
Questa è la risposta corretta Il progetto è configurato per utilizzare contemporaneamente IIS e IISExpress.
Aaron Reed,

2
Usando VS2013, non vedo Modifica {ProjectName} .csproj quando si fa clic con il tasto destro sulla soluzione. Ho completato la modifica andando sul file system e modificando manualmente il file .csproj. Era di sola lettura, quindi ho dovuto fare un po 'di danza, ma ha funzionato.
Al Lelopath,

222

Aprire la cartella del progetto ed eliminare {Progetto} .csproj.user , quindi ricaricare il progetto su Visual Studio.


2
Ero l'unico nel nostro team a vedere questo errore IIS. Il team di sviluppo con cui lavoro aveva lo stesso file .csproj dal controllo del codice sorgente, quindi le altre soluzioni precedenti non erano il mio problema. Si scopre che il file .csproj.user che hai citato stava causando questo errore nella mia situazione. Grazie!
mia pila trabocca il

3
Questo ha funzionato per me dopo aver provato quasi tutto il resto
David

3
Questa è la risposta corretta Risolve un problema con la configurazione del progetto sul tuo computer (particolarmente importante quando si lavora con TFS).
Markus,

1
Questa è anche la soluzione se hai impostato un tag iisurl personalizzato ma il progetto si avvia ancora sull'host locale <IISUrl> MachineName.domain: 12345 / </ IISUrl >
lsp

5
Questo ha funzionato per me. Non c'era nessuna impostazione <UseIIS> nel mio caso.
Techgration,

33

Questa soluzione ha funzionato per me: fai clic con il pulsante destro del mouse sul progetto e seleziona modifica e trova il seguente codice come mostrato di seguito nella figura.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

O

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

screenshot di csproj


30

per me, ho dovuto eliminare queste due righe dal file .csproj

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Ho provato a cancellare solo il primo, ma non era abbastanza.

EDIT: Come molti utenti hanno sottolineato, questo può cambiare il tipo di progetto o rovinare il programma di controllo del codice sorgente. Non posso indagare su questi problemi perché era un progetto scolastico che non ho più. Si prega di fare attenzione quando si prova questo. Almeno fai una copia di ciò che elimini.


9
Questo ha funzionato e questo dovrebbe essere contrassegnato come una risposta. Ho provato molte soluzioni come suggerito in SO, ma nessuna ha funzionato per me tranne questa.
Bose_geek,

3
Dopo aver provato tutti i suggerimenti di cui sopra, questo è quello che ha funzionato per me. Grazie amico mio!
Noble-Savage,

2
Questo cambia al tipo di progetto, quindi non è più un'applicazione web.
Oram

3
Non è una buona idea rimuovere <ProjectGuid> dal file .csproj. Per caricare il progetto è sufficiente rimuovere solo <ProjectTypeGuids> che è anche una cattiva idea in quanto cambia il tipo di progetto, come menzionato da @Oram. Questa risposta è buona se non si desidera eseguire il commit delle modifiche, basta guardare il codice in VS.
elshev,

1
Ciò ha risolto gli errori di caricamento di Esplora soluzioni che ho riscontrato con un appaltatore ha sviluppato la soluzione Visual Studio 2010 che sto passando al 2013. Il file della soluzione ha 2 progetti; un'app Web e un servizio Web. Non riuscivo nemmeno a caricare, quindi Esplora soluzioni mostrava solo due cartelle vuote dopo aver tentato di aprire il file della soluzione. Dopo aver commentato le righe di ProjectGuid e ProjectTypeGuids suggerite, ho potuto vedere le dipendenze di questi progetti in Esplora soluzioni. Per me, questa era un'opzione di rendimento elevato a basso rischio poiché potevo facilmente annullare queste modifiche. Grazie!
JohnH,

26

Modifica il file .csproj o vbproj. Trova e sostituisci queste voci

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>

1
Ho anche dovuto cambiare DevelopmentServerPort con un valore diverso da 80.
JoshNaro,

1
E se non riesci a trovare le impostazioni nel file csproj. Aprire il file .csproj.user e farlo lì.
Devzero,

10

Nel mio caso, questo problema è stato causato da collegamenti IIS rotti. In particolare, la mia associazione "http" era stata eliminata. La sua ricostruzione ha risolto il problema.


Ho riscontrato un problema molto simile. Il mio collegamento HTTP sembrava rinominarsi un giorno -_- L'impostazione del file di progetto per <IISUrl>non era cambiata (grazie SVN per aver confermato la mia memoria e la mia sanità mentale) ma in qualche modo il collegamento IIS aveva. Risolto il problema e il proiettato caricato immediatamente.
Patrick M,

Inoltre, ricorda di verificare se hai cambiato lo sni / nome host del sito di destinazione per qualche motivo. Ciò ha causato l'errore nel mio caso.
juarola,

5

Prova ad aprire Visual Studio con i privilegi di amministratore. Nel mio caso, ha dato accesso al sito IIS e ha eliminato questo errore. Sono stato quindi in grado di passare al progetto per utilizzare IIS Express che non sembra aver bisogno dei privilegi di amministratore.


5

Questo ha funzionato per me: -
Fai in modo che tutti i tuoi siti Web IIS puntino solo a localhost (Tutti non assegnati)

inserisci qui la descrizione dell'immagine


5

Se si è connessi tramite TFS, aprire il file project.csproj.user e controllare

<UseIISExpress>false</UseIISExpress>

e cambiarlo in vero.

<UseIISExpress>true</UseIISExpress>

Anche se ritengo che questo sia più una soluzione al problema che la soluzione reale, ho dato un pollice in su mentre risolveva la mia preoccupazione immediata.
Nandun,

Ha funzionato bene :)
Hammad Sajid

4

È possibile caricare il progetto senza impostare il valore dell'attributo UseIIS su true. Segui semplicemente i seguenti passaggi:

Nel file mywebproject.csproj--

Elimina il tag <IISUrl> http: // localhost / MyWebApp / </ IISUrl> e salva il file. L'applicazione assegnerà automaticamente la porta predefinita.


4

Non ci crederai, startvisual studio come amministratore

come ovvio dal messaggio

Impossibile trovare il server Web " http: // localhost / MyWebApp ".

non è stato trovato perché potrebbe it has no privileges to see it

quindi solo restartVisual Studio come amministratore


3

Nel mio caso volevo passare da http a https, quindi avevo eliminato http da IIS. Nel mio file .csproj.user ho scoperto che avevo ancora:

<IISUrl>http://localhost/</IISUrl>

Quindi l'ho cambiato in:

<IISUrl>https://localhost/</IISUrl>

2

Nel mio caso sono stato in grado di aprire la soluzione in modalità offline semplicemente eseguendo il comando:

iisreset

2

Per voi utenti di Win8 là fuori, se seguite i passaggi nella risposta accettata, la console vi lancia un messaggio dicendo "non dovrete usare la riga di comando per eseguire questo comando" (parafrasando). Al contrario, accedi a Programmi e funzionalità tramite Pannello di controllo (o Windows + R> appwiz.cpl), fai clic su "Attiva o disattiva funzionalità di Windows" e assicurati di avere installato quanto segue:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

Questo verificherà anche molte altre opzioni. Non appena ho installato queste funzionalità ed eseguito VS2012 con autorizzazioni elevate, sono stato in grado di avviare correttamente la mia app.


2

Questo succede con me quando ho provato ad aprire un progetto dal file .csproj, ma lo supero aprendo il progetto da VS:

File> Apri> Sito Web

e seleziona la directory che include il mio progetto.


1

Ho avuto anche questo errore. Ho pensato che tutto fosse impostato correttamente, ma ho scoperto che mancava una cosa: il nome host che ho usato per il mio progetto non era (ancora) risolvibile.

Poiché la mia app determina il nome del cliente corrente dal nome host, ho usato un nome host come clientname.mysuperapp.localper lo sviluppo. Quando ho aggiunto il nome host di sviluppo al mio hostsfile, il progetto è stato nuovamente caricabile. Ovviamente, ho dovuto farlo comunque, ma non ho pensato che VS controlla il nome host prima di caricare il progetto.


1

Controlla se IIS Express è installato. Se IIS Express non è presente, Visual Studio potrebbe ignorare l'impostazione <UseIISExpress>false</UseIISExpress>e cercare comunque express.



1

Nel mio caso, il "Sito Web predefinito" in IIS non aveva un'associazione per localhost sulla porta 80. Dovresti avere un'associazione per qualunque sia il tuo valore nel file .csproj.


1

Ho risolto semplicemente reinstallando IIS Express dopo aver scaricato dal link seguente:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264


1
Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
FluffyKitten,

@FluffyKitten Ho avuto lo stesso errore dell'OP, ho provato tutte le altre risposte e nulla ha funzionato a meno di reinstallare IIS Express. Quindi credo che questa sia la mia risposta alla domanda del PO. Reinstalla IIS.
Matteo,

La tua risposta è stata contrassegnata come di bassa qualità e sta attraversando un processo di revisione (nota "Dalla recensione" alla fine del commento). Sebbene possa funzionare, reinstallare il software è un'opzione di ultima istanza quando nient'altro funziona e non è una soluzione specifica per il problema di questo PO.
FluffyKitten,

Se è un'opzione di ultima istanza dopo che nient'altro funziona - e secondo Ajay2707 esiste il potenziale che nessuna delle altre risposte funzioni per qualche anima povera - allora penso che questa risposta potrebbe essere utile. Come si può designare una risposta di bassa qualità quando potrebbe essere l'unica cosa che funziona per alcune persone? Ti sostengo Ajay2707. Grazie per aver dedicato del tempo per contribuire alla comunità.
nardnob,

Inb4 questa conversazione viene spostata / eliminata come di bassa qualità. viva la resistenza !!
nardnob,

0

Nel mio caso, l'URL a cui si fa riferimento nel file csproj non era corretto.

Doveva essere preceduto da www.

Ho apportato le modifiche, salvato il file e il progetto è stato caricato correttamente.


0

Ho <ProjectTypeGuids>riscontrato questo problema quando l' elemento nel file .csproj conteneva il GUID del progetto unit test:{3AC096D0-A1C2-E12C-1390-A8335801FDAB} .

La sua rimozione ha comportato il caricamento del progetto senza problemi.


0

Per gli utenti DNN il mio problema era che avevo bisogno di un'associazione per dnndev.me sulla porta 80. Ho più installazioni che girano su porte diverse e VS richiede che quel particolare Url esista sulla porta 80 (non 86 come il mio).


0

Segui questa soluzione completa passo dopo passo. funziona per me in VS 2017.

  1. Apri il prompt dei comandi in modalità amministratore

  2. Apri Esplora file e accedi alla cartella .NET Framework

      Eg:C:\Windows\Microsoft.NET\Framework\v4.0.30319

    v4.0.30319 questa è la mia cartella .NET. si desidera selezionare la cartella pertinente.

  3. in CMD - Vai al percorso della cartella .NET

    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
  4. Eseguire il comando seguente in CMD

    aspnet_regiis.exe -i

    Puoi finalmente vedere questo messaggio - Installazione di ASP.NET completata (4.0.30319.0)

    iisreset

    Puoi finalmente vedere questo messaggio: i servizi Internet sono stati riavviati correttamente

  5. Apri IIS sul tuo computer (se non config Segui questo )

    1. Vai al sito e fai clic con il tasto destro

    2. Aggiungi sito Web

    3. Riempi: nome del sito e seleziona il percorso fisico

    4. Quindi digitare il numero di porta (è possibile trovare il numero di porta nel file .csproj e il numero di porta deve essere uguale a (IISUrl)

    EG : <IISUrl>http://localhost:15724/</IISUrl> my port is 15724

    Nota : non è possibile creare il numero di porta 80 . perché utilizzava la pagina IIS predefinita

    1. Fai clic su OK
  6. Apri Visual Studio con l' autorizzazione dell'amministratore

  7. Quindi fare clic con il tasto destro e ricaricare il progetto

Il tuo problema potrebbe essere risolto.

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.