web-dev-qa-db-fra.com

Impossible d'installer le package Nuget car "Échec d'initialisation de l'hôte PowerShell"

Tout à coup, je reçois cette erreur lors de la mise à niveau des packages Nuget. Aucune des solutions que j'ai rencontrées ne fonctionne. J'utilise Visual Studio 2013.

'Newtonsoft.Json 6.0.3' déjà installé.

Ajout de 'Newtonsoft.Json 6.0.3' à Tournaments.Notifications.

Ajout réussi de 'Newtonsoft.Json 6.0.3' à Tournaments.Notifications.

Exécution du fichier de script 'F:\Mes sites Web\BasketballTournaments\MainBranch\packages\Newtonsoft.Json.6.0.3\tools\install.ps1'.

Échec d'initialisation de l'hôte PowerShell. Si votre paramètre de stratégie d'exécution PowerShell est défini sur AllSigned, ouvrez la console Package Manager pour initialiser l'hôte.

Console du gestionnaire de packages

La tentative d'exécution de l'opération InitializeDefaultDrives sur le fournisseur 'FileSystem' a échoué.

Si j'attends la fin de l'initialisation dans la console, j'ai pu ajouter des paquets.

168
Mike Flynn

La définition d'une stratégie d'exécution sur RemoteSigned ou Unrestricted devrait fonctionner. Il doit être modifié en mode administrateur via une console PowerShell. Sachez que les modifications seront appliquées en fonction de la version de la console PowerShell, 32 bits ou 64 bits. Ainsi, si vous souhaitez installer un package dans Visual Studio (version 32 bits) nécessitant une stratégie spécifique, vous devez modifier les paramètres de la stratégie via PowerShell (x86).

La commande dans PowerShell (en tant qu'administrateur) pour définir la stratégie sur illimité (comme indiqué par @Gabriel dans les commentaires) est la suivante:

start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job

Une fois la stratégie définie sur Non restreint, vous souhaiterez rétablir la stratégie d'origine à la fin de l'installation.

189
jellonek

N'oubliez pas de redémarrer Visual Studio après avoir effectué le Set-ExecutionPolicy Unrestricted dans PowerShell (x86).

Si cela ne fonctionne pas, essayez Set-ExecutionPolicy RemoteSigned dans PowerShell (x86), puis redémarrez Visual Studio.

55
Sirar Salih

Par défaut, l'exécution du script PowerShell est très limitée pour des raisons de sécurité. Pour pouvoir utiliser NuGet, nous devons ouvrir les portes.

1. Étape

Ouvrez Windows PowerShell, exécuté en tant que Administrator

2. Étape

NuGet utilise la console 32 bits, il ne sera donc pas affecté par les modifications apportées à la console 64 bits. Exécutez le script suivant pour vous assurer de configurer la console 32 bits.

start-job { Set-ExecutionPolicy RemoteSigned } -RunAs32 | wait-job | Receive-Job

3. Étape

Redémarrer Visual Studio

50
Michael Sander

J'ai le même problème avec la boîte de dialogue Gérer les paquets NuGet. J'utilise une solution de contournement qui peut aider les autres, exécutée depuis la console du gestionnaire de paquets:

Si j'utilise le paquet-install powerlet powershell de la ligne de commande, tout va bien.

Je suis opposé à la modification d'un paramètre de sécurité "juste pour le faire fonctionner".

25
Allan

Aucune réponse n'a fonctionné pour moi.

Toutes les stratégies étaient correctes mais j'ai l'erreur lors de l'installation d'un paquet

Échec d'initialisation de l'hôte PowerShell. Si votre exécution PowerShell Si le paramètre de stratégie est défini sur AllSigned, ouvrez la console Package Manager pour initialiser l'hôte en premier.

La solution : J'ai désinstallé le gestionnaire de paquets nuget plugin et réinstallé it.

24
Troopers

L'exécution de Visual Studio en tant qu'administrateur a fonctionné pour moi.

16
Sudhir

J'ai eu ce problème avec mon Visual Studio 2015. J'ai désinstallé et réinstallé à nouveau le Gestionnaire de paquets NuGet . Cela a fonctionné pour moi.

7
user3266181

J'ai mis à jour le gestionnaire de paquets Nuget et cela a été corrigé.

6
DeclanMcD

Cela a commencé avec la version 6.0.4 récemment pour moi, je ne pense pas que ce soit une très bonne solution, mais voici ce qui m’a aidée . Fermer Visual Studio

  1. Ouvrez une invite Windows PowerShell en tant qu'administrateur (très important) et exécutez la commande suivante: Set-ExecutionPolicy Bypass
  2. Ouvrez Visual Studio, ouvrez votre solution et utilisez Nuget pour installer JSON.Net (ou n’importe quel package l’incluant en tant que dépendance).
  3. Une fois que tout fonctionne, je vous recommande de redéfinir la stratégie d’exécution de powershell avec la commande suivante: Set-ExecutionPolicy Restricted
6
Goutam Singh

J'ai eu le même problème après la mise à niveau vers Windows 10.

Cela a fonctionné pour moi 

  1. Fermer Visual Studio 
  2. Exécuter Powershell en tant qu'administrateur
  3. Exécuter Set-ExecutionPolicy Unrestricted
  4. Exécuter Visual Studio en tant qu'administrateur
  5. Nettoyez le projet et ajoutez le paquet de pépites

Si cela ne fonctionne toujours pas, essayez de modifier devenv.exe.config

Visual Studio 2013: C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\12.0

Visual Studio 2015: C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\14.0

Ajouter ce qui suit

    <dependentAssembly>
        <assemblyIdentity name="System.Management.Automation" publicKeyToken="31bf3856ad364e35" />
        <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Utility" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.ConsoleHost" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Management" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Security" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Diagnostics" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
5
BehranG BinA

Par défaut, Windows 10 64 bits ne permettait l'activation de Powershell version 1.0. J'ai modifié le panneau de configuration/Programmes/Programmes et fonctionnalités/Désactiver les fonctionnalités Windows.

Assurez-vous que le moteur Windows Powershell 2.0 est activé.

Redémarrez VS2015 en mode non-administrateur et avec tous les packages installés correctement.

4
DKrause

J'ai eu le même problème avec vs2013 et la modification de la stratégie d'exécution ne l'a pas résolu .. La seule solution de travail que j'ai trouvée consistait à désinstaller Nuget de VS et à l'installer à nouveau. Les étapes sont ici: https://stackoverflow.com/a/32619961/3853238

4
Doğa Benli

Ce correctif Nuget a fonctionné pour moi:

https://github.com/NuGet/Home/issues/974#issuecomment-124774650

4
Federico Bergstein

Fermez toutes les instances de Visual Studio et réessayez. Cela a fonctionné pour moi :)

3
Mohini Mhetre

Tout ce que j'avais à faire était de redémarrer Visual Studio, d'ouvrir le Package Manager Console de NuGet, puis d'utiliser la boîte de dialogue Manage NuGet Packages.

3
Nameless One

Après avoir essayé diverses solutions suggérées, le problème a finalement été résolu en mettant à jour l'extension NuGet Package Manager dans Visual Studio.

Cela se fait sous Outils -> Extensions et mises à jour, puis dans la boîte de dialogue Extensions et mises à jour Mise à jour -> Galerie Visual Studio. Un redémarrage de Visual Studio peut être requis.

2
Oskar Sjöberg

Si rien de ce qui précède ne vous aide, voyez si vous pouvez mettre à jour Visual Studio.

J'ai eu le même problème avec Visual Studio 2017 Community lorsque j'ai essayé d'installer Newtonsoft.Json. La modification ExecutionPolicy n'a pas aidé (j'ai essayé d'utiliser à la fois PowerShell et l'éditeur de registre). J'ai aussi essayé de désinstaller et d'installer NuGet.

Après avoir exécuté le fichier d'installation VS2017, il a demandé la mise à jour de Visual Studio. Tous les problèmes ont disparu après la mise à jour.

2
Tigran

Si vous utilisez VS 2013 Update 5, vous devez installer manuellement un update 2.8.7 pour NuGet Packet Manager.

Le rapport de bogue contient plus de détails.

2
Vladimir Zhukov

L'astuce pour moi a été de réinstaller NuGet Package Manager en utilisant le lien ci-dessous:

VS 2013: https://github.com/NuGet/Home/releases/download/2.8.7/NuGet.Tools.vsix

VS 2015: https://github.com/NuGet/Home/releases/download/3.1.1/NuGet.Tools.vsix

2
user2116792

Si les réponses ci-dessus ne marchent pas pour vous -

  1. Ouvrez Run - Windows + R
  2. Ouvrez l'éditeur de registre - tapez regedit.exe
  3. Ouvrir - HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell
  4. Dans le volet de droite - Modifiez "ExecutionPolicy" et laissez ses "Données de valeur" vides.
  5. Redémarrez votre studio visuel, votre Powershell peut maintenant s'initialiser correctement. 
2
Richie Rich

VS2015: Mise à jour du NuGet et travail.

2
n3xus

Avait le même problème et cela l'a résolu pour moi (Powershell en tant qu'administrateur):

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name ExecutionPolicy -Value ByPass 
1
Sven Bardos

J'ai eu un problème similaire . Je l'ai résolu en activant la fonctionnalité "Windows PowerShell 2.0" dans "Activer ou désactiver des fonctionnalités Windows" . Notez que cette fonctionnalité est activée par défaut, je l'ai désactivée manuellement Il ya quelques jours.

Je travaille sur Windows 10 Pro 64 bits et le même problème était avec Visual Studio 2015 et 2017 (application 32 bits et 64 bits)

1
Adnan Mulalic

Pour moi, définir la stratégie d'exécution sur Non restreint ne fonctionnait pas. J'ai dû réparer le vs2013 installation en allant dans le Panneau de configuration. Réparer l'installation a fonctionné pour moi.

1
DanKodi

Vous devez ouvrir la console PM (Outils> Nuget Package Manager> Console du gestionnaire de packages). Elle vous demandera si vous souhaitez exécuter le gestionnaire de nugets comme non approuvé, tapez 'A' et cliquez sur Entrée pour résoudre le problème.

0
IX.Vilakazi

Apparemment, il y a un bogue Powershell dans Windows 10 version 1511.

Aucune des corrections répertoriées ici ne fonctionnait pour moi. (ou n'a travaillé que temporairement)

Je l'ai corrigé (dans VS2013 et VS2015) en installant la version 1607. Il peut être téléchargé ici: Windows 10 Anniversary Update .

Nuget issue: https://github.com/NuGet/Home/issues/3352

0
Rubanov

Je lance cette commande sur Powershell (exécuter en tant qu'administrateur) et cela résout mon problème.

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /f
0
user2662006

après avoir essayé toutes les solutions suggérées, rien ne fonctionnait avec VS 2015 update 2

la suppression du dossier de package du dossier de la solution et sa restauration à partir de visual studio ont fonctionné pour moi 

0
Moes

Ce qui a fonctionné pour moi est:

  1. Définissez la stratégie d'exécution sur Sans restriction.
  2. Find-Module ISEModuleBrowserAddon | Install-Module
  3. Import-Module ISEModuleBrowserAddon
  4. Find-Module ISEScriptAnalyzerAddOn | Install-Module
  5. Import-Module ISEScriptAnalyzerAddOn
  6. Import-Module ScriptBrowser
  7. En ISE, vous avez besoin de Enable-ScriptBrowser

Et vous avez Module, Script et Analyzer dans votre ISE.

Exécuter sous Win 10 Pro, hôte console x64 5.0.10586.122

Bonne chance!

0
Dima

Ce problème n'est pas toujours lié à la stratégie d'exécution de PowerShell. Ma machine est configurée en tant que "Sans restriction" pour PowerShell x64 et x86, mais je reçois toujours ce message d'erreur de temps en temps dans Visual Studio 2013.

Lorsque j'essaie d'ouvrir la console du gestionnaire de packages:

Windows PowerShell a correctement mis à jour votre stratégie d'exécution, mais le fichier Ce paramètre est remplacé par une stratégie définie dans une étendue plus spécifique. En raison de la substitution, votre Shell conservera son efficacité actuelle politique d'exécution de Unrestricted. Tapez "Get-ExecutionPolicy -List" pour affichez vos paramètres de stratégie d'exécution. Pour plus d'informations, veuillez consulter "Get-Help Set-ExecutionPolicy".

Ce n'est pas un message d'erreur valide.

Le redémarrage de Visual Studio ne résout pas toujours le problème. 

L'exécution du processus en tant qu'administrateur ne résout jamais le problème.

Comme Declan, la dernière mise à jour du plug-in Package Manager corrige le problème: 2.8.60723.765.

0
Vilmir

Définissez la stratégie d'exécution sur Bypass au lieu de Unrestricted ou RemoteSigned; ce tutoriel donne des instructions plus complètes . De plus, si vous rencontrez des difficultés pour utiliser PowerShell pour modifier la stratégie, son auteur vous explique comment la modifier dans Regedit.

0

Il y a énormément de coups dans le noir ici, alors je vais ajouter les miens.

Dans mon cas, j'ai également reçu un message indiquant qu'il manquait un fichier de verrouillage et une recommandation pour exécuter dnu restore dans la console du gestionnaire de packages. Je l'ai fait, j'ai redémarré VS et tout fonctionne maintenant.

0
Auspex

Télécharger et installer Modèles d'administration pour Windows PowerShell

Next:  Powershell x86 from As Administrator

Run:   Get-ExecutionPolicy -List  , and see if you have RemoteSigned etc..

1. 5 different scopes  Set-ExecutionPolicy "RemoteSigned" -Scope Process -Confirm:$false

2. Machine and User Policy you have to set through the Group Policy Administration Template in 2 areas.

UPDATE - EDIT:

Set ALL of them to  "Undefined" and ONLY the LocalMachine to "Restricted" 

C’est ce qui pourrait bien être corrigé après que j’aurais donné à PowerShell plus d’autorisations sans savoir que cela gâcherait Visual Studio 2013 et 2015

0
Tom Stickel

Mon problème est résolu, car à ce moment .Net Core n'était pas supporté EF 6.2.0 .

changer de projet depuis Core et EF installés avec succès.

0
Zolfaghari