22

questo è stato chiesto prima, ma è stato chiuso come "Non è un vero problema"Esecuzione di IIS Express con amministratore privilegi di

https://stackoverflow.com/questions/7450813/how-to-run-a-site-with-administrative-privileges-in-iis-express-7-5

Tuttavia penso che sia una vera e propria domanda, come ho anche bisogno di fare questo, ci sono documenti MS che spiegano come "Run IIS Express without Administrative Privileges" ma poiché questo è il modo in cui viene eseguito di default, la necessità di questo articolo mi lascia perplissimo. Tuttavia non ho idea di come eseguirlo con i privilegi di amministratore.

Quando provo ad iniziare il mio sito web VS2012 ricevo il seguente messaggio di errore da IIS esprimere: "Impossibile avviare il sito web, perché i privilegi amministrativi sono necessari per legarsi al nome host o alla porta", e link sono forniti ai documenti MS su come eseguirlo senza privilegi di amministratore.

Quello che sto in ultima analisi, cercando di fare è correre i miei siti dev localmente come http: // vs2012: nnnnn, questo è così posso collegare debugger violinista (a causa della tangenziale di proxy in IE quando si utilizza localhost)

Questo funzionava bene, stamattina ho fatto una reinstallazione di windows e ora ho colpito un muro di mattoni!

Qualcuno sa come fornire i privilegi di amministratore di IIS Express come indicato nel messaggio di errore?

risposta

22

Ho lavorato fuori.

Ho attivato Visual Studio per l'esecuzione con privilegi amministrativi e ho anche trovato l'exe per IIS Express e l'ho impostato per eseguire sempre i privilegi di amministratore. Non sono sicuro al 100% che sia necessario il secondo ma li ho comunque entrambi.

Spero che questo aiuti qualcun altro che ha avuto lo stesso problema.

EDIT

(19/08/2013)

Questo sembrava solo per lavorare in Windows 7, su Windows 8 alla fine ho appena rinunciato e ora utilizzare il colpo pieno IIS per tutta la mia lavoro dev.

+5

Giusto per chiarire, avevo solo bisogno di garantire VS era in esecuzione come amministratore e ha funzionato. – HackedByChinese

+6

Forse questo può risparmiare un po 'di tempo, il mio IIS Express si trova qui: 'C: \ Programmi (x86) \ IIS Express \ IISExpress.exe'. –

+0

Confermando che questo funziona in Windows 8 per Visual Studio 2013 - Ho eseguito VS come amministratore e IIS Express è stato aumentato automaticamente. –

5

Anche se un bot in ritardo, e non una risposta alla domanda posta 'come eseguire con i privilegi amministrativi', questa potrebbe essere una soluzione al problema/errore indicato:

Cannot start the website because administrative privileges are required to bind to the hostname or port

Come accennato in , il numero di porta utilizzato può richiedere questi privilegi amministrativi:

you must have Administrator user rights if you want to run IIS Express on ports numbered 1024 or less.

Quindi, se è possibile eseguire su un numero di porta superiore a 1024, potrebbe non avere bisogno di privilegi amministrativi a tutti.

+0

+1 La soluzione e il problema spiegato. – Bart

+2

Sfortunatamente se non si desidera associare il sito Web all'host locale è sempre necessario disporre dei diritti di amministratore, indipendentemente dal numero di porta selezionato. – Aurril

+0

@Aurril: Grazie per le informazioni. È valido per tutti i collegamenti "esterni", anche se si utilizzano indirizzi locali, come l'intervallo IP locale? Hai un riferimento/link, posso aggiungere alla risposta? –

0

è possibile modificare il file a:

%userprofile%\Documents\IISExpress\config\applicationhost.config 

Vai a questa parte del file:

<system.applicationHost> 
    <applicationPools> 
      <applicationPoolDefaults managedRuntimeLoader="v4.0" > 

E aggiungere un tag per il pool di applicazioni specificato il nome utente e la password che dovrebbe funzionare sotto :

<processModel userName="Uname" password="Pword" /> 
2

So che potrebbe essere troppo tardi ma nessuno degli altri funzionamenti ha funzionato per me. Quindi questo è quello che ho fatto. Sto usando Web API 2 e IIS Express non si attiva di tanto in tanto e dopo aver caricato il progetto in una nuova soluzione funzionerebbe. Tuttavia, ho trovato una soluzione migliore. Nel file csproj rimuovi questi due nodi in WebProjectProperties e sarai tutto pronto.

  • DevelopmentServerVPath
  • IISUrl
+0

uno corretto. Funziona. grazie – Rezoan

2

questo ha funzionato per me!

In VS è possibile fare clic con il pulsante destro del mouse sul progetto, selezionare Scarica progetto, quindi fare nuovamente clic con il pulsante destro e selezionare Modifica nome progetto.csproj.

Rimuovere i tag DevelopmentServerPort e IISUrl.

Dopodiché, fare clic con il tasto destro del mouse sul progetto e selezionare Ricaricare il progetto per iniziare a lavorare di nuovo. Rimuovendo i tag DevelopmentServerPort e IISUrl, VS genera nuovamente un numero di porta e il progetto funziona bene dopo.

Un'altra cosa che ho fatto è stato quello di aprire i miei documenti \ IISExpress \ Config \ applicationHost.config di file ed eliminare i vecchi siti, ma non sono sicuro che fosse necessaria

+0

Crediti: http://geekswithblogs.net/WinAZ/archive/2014/09/11/binding-failure-error-ndash-cannot-start-the-website-because-administrative.aspx – Oswin

22

Per Visual Studio 2015 e il 2012 questa soluzione funzionerà.

  1. Vai a Esplora soluzioni in Visual Studio, fare clic destro del progetto web e selezionare "Progetto Scaricare"
  2. Avanti sullo stesso progetto, fare clic destro e selezionare 'Modifica file di progetto'
  3. Trova il
    <DevelopmentServerPort>0</DevelopmentServerPort><IISUrl>http://localhost:56058/</IISUrl>
    tag xml e rimuoverli.
  4. Ricarica il progetto ed esegui.

Immagini da seguire:

enter image description here

2

1) trovare il file csproj.che si trova all'interno del file di progetto 2) csproj file è aperto in blocco note (trascina per notepad) 3) cercare due linee (da premere Ctrl + F e digitare le parole di frist ad esempio :)

<DevelopmentServerPort>0</DevelopmentServerPort> 
<IISUrl>http://localhost:57680/</IISUrl> 

4) DELETE due linea. 5) salva il file CSPROJ.

0

Una piccola aggiunta al metodo suggerito da Morvael - anche se si riceve l'errore dopo aver assegnato i privilegi di amministratore a Visual Studio e IISExpress, provare dopo il riavvio del sistema. Ha funzionato per me

0

Nel mio caso, il sito funzionava senza privilegi di amministratore e ad un certo punto si è fermato e ha funzionato solo con admin.

Il numero di porta era superiore a 1024 che non richiede i privilegi di amministratore, ma Visual Studio 2015 ha rifiutato di eseguire un sito senza autorizzazioni di amministratore.

ho capito che, è stato a causa di esso è stata aggiunta nel

netsh http show urlacl 

che mi ha mostrato

Reserved URL   : http://*:15888/ 
     User: \Everyone 
      Listen: Yes 
      Delegate: No 
      SDDL: D:(A;;GX;;;WD) 

Così per il mio caso, ho rimosso da questa lista e ha funzionato di nuovo . Ecco il comando per la rimozione:

netsh http delete urlacl http://*:15888/ 
Problemi correlati