VS2017 / VS 2019 Esegui come amministratore dalla barra delle applicazioni


98

Vorrei eseguire Visual Studio 2017/2019 come amministratore quando seleziono un progetto dall'elenco recente nella barra delle applicazioni , ad es. quando si apre un progetto tramite i collegamenti Explorer / Shell.

Ho usato l'impostazione: proprietà -> scorciatoia -> avanzate -> casella di controllo Esegui come amministratore.

Sfortunatamente, ciò non comporta l'esecuzione di devenv come amministratore.

Qualche idea su come risolvere questo problema?

Risposte:


262
  1. Chiudi tutte le istanze di Visual Studio
  2. Fare clic con il tasto destro sull'icona di Visual Studio 2017/2019 nella barra delle applicazioni
  3. Fare clic con il tasto destro su Visual Studio 2017/2019 e fare clic su Proprietà
  4. Fare clic sul pulsante Apri posizione file
  5. Fare clic con il pulsante destro del mouse sul file devenv.exe in quella cartella
  6. Seleziona Risoluzione dei problemi di compatibilità
  7. Seleziona Risoluzione dei problemi del programma
  8. Seleziona Il programma richiede autorizzazioni aggiuntive
  9. Fare clic su Prova il programma e attendere l'avvio del programma
  10. Quindi fare clic sul pulsante Avanti
  11. Seleziona Sì, salva queste impostazioni per questo programma
  12. Fare clic su Chiudi
  13. Riapri il tuo progetto dall'elenco recente

4
questa è anche la stessa soluzione per tutte le versioni precedenti di Visual Studio da quando è stato introdotto il selettore di versione vs. chiunque voti negativo lo rende personale o rifiuta di accettare lo status quo. grazie per la conferma che questo metodo funziona ancora, dovevo solo controllare prima di provare :)
Shaun Wilson

6
Penseresti che MS avrebbe un'impostazione vs - 'esegui sempre come amministratore' - poiché qualsiasi sviluppo non banale lo richiede
pm100

1
@ pm100 Beh, in qualche modo ci sono VSCommands VS Addin che hanno questa impostazione. Ma sono d'accordo che la natura dello sviluppo web e il supporto IIS all'interno di VS dovrebbero fornire questo built-in. Se IIS viene utilizzato per le soluzioni, sono necessari i diritti di amministratore. VS dovrebbe forse rilevarlo automaticamente e riavviare la richiesta.
Robert Koritnik,

FYI: questo fa sì che VS chieda di essere eseguito come amministratore ogni volta che viene avviato.
Jeff B

1
Mi imbatto in questo ogni volta che ho bisogno di installare una nuova versione di VS ... Ora nel 2019, la stessa soluzione funziona ancora
moi_meme

16

L'effetto dei passaggi nella risposta di Steve è l'aggiunta di un singolo valore di registro. È possibile evitare tutti questi passaggi semplicemente aggiungendo quel valore di registro tramite la riga di comando. Per qualche motivo ho scoperto che ci vuole un po 'di tempo per avere effetto, ma un logout / login dovrebbe renderlo effettivo immediatamente.

Per qualche strana ragione, ho scoperto che, nel mio caso, Windows non stava controllando HKLM. Stava solo guardando HKCU. Quindi ho impostato entrambi. Ma per altri utenti che effettuano il login, HKLM dovrebbe tornare utile.

È inclusa anche l'impostazione dello stesso valore per VSLauncher.exe, che risolve altri problemi.

Questo si prende cura di VS2017 e 2019. Se ne hai installato solo uno, rimuovi le linee per l'altro.

Inoltre, se hai cambiato la cartella in cui viene installato VS, cambia il percorso in devenv.exeo usa semplicemente la risposta di Steve per farlo nell'altro modo.

In un prompt dei comandi dell'amministratore:

reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

Oppure, se preferisci un file .reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

Anche se questo potrebbe essere utile, non funzionerà (copia e incolla) per le persone che hanno questa app installata da qualche altra parte, la futura versione di VS o altre applicazioni che le persone vogliono eseguire allo stesso modo.
Anthony Nichols

1
Bene, quando ho scritto questo, il titolo della domanda diceva specificamente solo VS2017 :) Dato che è stato cambiato, ho aggiunto le righe per occuparmi del 2019 e una nota a riguardo.
Gabriel Luci

1
La modifica del registro non è per tutte le persone. Devi stare molto attento o finirai per mandare in crash l'intero sistema operativo. Pertanto, voterei e consiglierei la risposta di Steve come la soluzione più sicura che potresti avere! Di nuovo, questa è la mia opinione!
Vincy

@Vincy Certo, ma è probabile che, se utilizzi Visual Studio, conosci una o due cose su Windows e non hai paura di modificare direttamente il registro. Non è difficile cercare a cosa servono determinate chiavi di registro.
Gabriel Luci
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.