web-dev-qa-db-fra.com

Nuget donne cette erreur "ps1 ne peut pas être chargé car l'exécution de scripts est désactivée"

J'ai un nouveau projet MVC 5 vide et j'essaie d'installer des packages Nuget. Lorsque j'insère dans la console Nuget la commande: Update-Package j'ai reçu l'asnwer suivant: 

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

alors je commence à installer de nouveaux paquets et reçois à nouveau ce message: 

L'application Web\packages\Modernizr.2.8.3\tools\install.ps1 ne peut pas être chargée car l'exécution de scripts est désactivée sur ce système

J'ai vu certains messages liés à ce message, mais pas aux projets MVC. 

Ma question est: 

Pourquoi je reçois ces messages? 

Que puis-je faire pour résoudre ce problème? 

Ce problème peut apparaître sur le serveur sur lequel mon application sera exécutée? Certains scripts à ne pas exécuter comme prévu? 

17
Lucian Bumb

Je suppose que le paquet spécifique que vous essayez d'installer doit exécuter un script PowerShell et que, pour une raison quelconque, l'exécution de PowerShell est désactivée sur votre ordinateur. Vous pouvez rechercher sur Google "comment activer PowerShell" pour un guide complet, mais généralement, il se passe comme ceci: 

  • Ouvrez une fenêtre de commande PowerShell (recherchez simplement PowerShell après avoir appuyé sur le bouton Démarrer de Windows)
  • Vérifiez les restrictions actuelles en tapant "Get-ExecutionPolicy".
  • Activez PowerShell en tapant "Set-ExecutionPolicy remotesigned"

Ce problème n'affecte pas le serveur sur lequel vous prévoyez d'installer votre application. 

26
Entrodus

Si vous rencontrez une installation de packages NuGet à partir de la console Visual Studio Package Manager, exécutez Visual Studio en tant qu'administrateur.

6
David Sopko

 enter image description here

La traduction du texte de l'image serait un peu: Ce certificat a été révoqué à partir de son magasin de clés.

Le certificat sur mon init.ps1 a expiré - donc RemoteSigned ne suffira pas. Pour que cette version de package fonctionne, elle doit être définie sur ByPass ou Unrestricted. Personnellement, je ne recommanderais pas cela ...

- EDIT -- Je suis allé de l'avant et mis à jour le paquet et ai trouvé qu'ils ont démissionné d'un nouveau certificat pour la v 1.0.2. Problème suivant dans la console NuGet pour le correctif:

Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
5
mschr

J'ai rencontré un problème similaire lors de la construction d'un projet et j'ai constaté que vous POUVEZ peut-être définir la stratégie d'exécution sur remoteSigned (comme d'autres l'ont mentionné) dans BOTH powershell (x86) et powershell (x64). J'utilisais la version x64 en tant qu'administrateur et Get-ExecutionPolicy renvoyait "remoteSigned" mais la version x86 n'avait pas été mise à jour. Juste quelque chose à essayer si les réponses ci-dessus ne fonctionnent pas pour vous.

0
Robert McCraw