2015-09-21 14 views
12

Ho un nuovo progetto MVC 5 vuoto e cerco di installare i pacchetti Nuget. Quando inserisco nella console Nuget il comando: Update-Package ho ottenuto il seguente asnwer:Nuget restituisce questo errore "Impossibile caricare ps1 perché l'esecuzione degli script è disabilitata"

File E:\WebApp\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\tools\uninstall.ps1 cannot be loaded because running scripts is 
disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.At line:1 char:3 
+ & 'E:\WebApp\packages\Microsoft.CodeDom.Providers.Dot ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : SecurityError: (:) [], PSSecurityException 
    + FullyQualifiedErrorId : UnauthorizedAccess 

poi comincio a installare alcuni nuovi pacchetti e ottenuto di nuovo questo messaggio:

WebApp \ Packages \ Modernizr.2.8.3 \ tools \ install.ps1 non può essere caricato perché l'esecuzione di script è disabilitata su questo sistema

Ho visto alcuni post relativi a questo messaggio, ma non correlati ai progetti MVC.

La mia domanda è:

Perché ottengo quei messaggi?

Cosa posso fare per risolvere questo problema?

Questo problema può comparire sul server su cui verrà eseguita la mia applicazione? Alcuni script per non funzionare come previsto?

risposta

20

Immagino che il pacchetto specifico che si sta tentando di installare abbia bisogno di eseguire uno script PowerShell e per qualche motivo l'esecuzione di PowerShell è disabilitata sul proprio computer. È possibile cercare su google "come abilitare PowerShell" per una guida completa ma Generaly va in questo modo:

  • aprire una finestra di comando di PowerShell (basta cercare PowerShell dopo aver premuto pulsante Start di Windows)
  • Controllare out attuali restrizioni digitando "Get-ExecutionPolicy"
  • Attiva PowerShell digitando "Set-ExecutionPolicy remotesigned"

Questo problema non riguarda il server state programmando di installare l'applicazione su.

+11

La mia politica di esecuzione è già RemoteSigned ... ma ho ancora ricevuto questo errore ... –

+0

Ha funzionato come un incantesimo! –

+1

@RosdiKasim Stessa cosa, la soluzione non ha funzionato per me. Qualche idea calda per affrontare questo? – Jawad

5

enter image description here

Traduzione del testo dell'immagine sarebbe un po ': Questo certificato è stato revocato dal suo negozio chiave.

Il certificato sul mio init.ps1 è scaduto, quindi RemoteSigned non funzionerà. Affinché la versione del pacchetto funzioni, è necessario impostarla su ByPass o Unrestricted. Personalmente, non lo consiglierei di fare questo ...

- EDIT - Sono andato avanti e aggiornato il pacchetto e ho scoperto che hanno rassegnato le dimissioni per un nuovo certificato per la v 1.0.2. Problema seguendo console NuGet per correzione:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 
+0

Ho ricevuto l'errore sopra riportato su Windows 7 Pro, seguendo il consiglio di Entrodus che riesco a risolvere il problema. Ora sto usando Windows 10 e non ho avuto problemi simili. –

+0

L'aggiornamento del pacchetto ha risolto anche il mio problema su VS2015 su Win10. Grazie. –

+0

Si stava verificando questo errore su VS2017 in Windows 10, eseguendo VS come amministratore, criterio di esecuzione Senza restrizioni ... questo risolveva il problema. Grazie! –

2

Se si verifica questo d'installazione dei pacchetti Nuget da Visual Studio Package Manager Console, eseguire Visual Studio come amministratore.