「PowerShellホストの初期化に失敗した」ため、nugetパッケージをインストールできません


173

Nugetパッケージをアップグレードすると、突然、このエラーが発生します。私が仕事に出くわした修正のどれも。Visual Studio 2013を使用しています。

「Newtonsoft.Json 6.0.3」はすでにインストールされています。

Tournaments.Notificationsに「Newtonsoft.Json 6.0.3」を追加します。

「Newtonsoft.Json 6.0.3」をTournaments.Notificationsに追加しました。

スクリプトファイル 'F:\ My Webs \ BasketballTournaments \ MainBranch \ packages \ Newtonsoft.Json.6.0.3 \ tools \ install.ps1'を実行しています。

PowerShellホストの初期化に失敗しました。PowerShell実行ポリシー設定がAllSignedに設定されている場合は、パッケージマネージャーコンソールを開いて、最初にホストを初期化します。

パッケージマネージャーコンソール

'FileSystem'プロバイダーでInitializeDefaultDrives操作を実行しようとして失敗しました。

コンソールで初期化が完了するのを待つと、いくつかのパッケージを追加できました。


こんにちはマイク。まったく同じ問題があります。なんとか問題を解決でき、nugetパッケージマネージャーが機能していますか?
Magnus Backeus、2014年

私は同じ問題を抱えています。Powershellの実行ポリシーを無制限に設定しましたが、効果はありません。パッケージマネージャーコンソールにパッケージをインストールしても問題ありません。
アダミー2014年

5
同じ問題が発生しました。このソリューションは、私を支援してきました:stackoverflow.com/questions/10457039/...
Oleksiiアザ

1
Windows 10でも同じエラーが発生しました。「プログラムと機能」から「Windowsの機能を有効または無効にする」でPowershell 2.0を有効にする必要があり、Visual Studioを再起動した後、すべて正常に機能しました。
twoleggedhorse

回答:


193

実行ポリシーをRemoteSignedまたはUnrestrictedに設定すると機能するはずです。PowerShellコンソールを介して管理者モードで変更する必要があります。PowerShellコンソールのビットバージョン、つまり32ビットまたは64ビットに応じて変更が適用されることに注意してください。したがって、特定のポリシーを必要とするパッケージをVisual Studio(32ビットバージョン)にインストールする場合は、PowerShell(x86)を介してポリシーの設定を変更する必要があります。

PowerShellで(管理者として)ポリシーを無制限に設定するためのコマンド(コメントの@Gabrielで示されています)は次のとおりです。

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

ポリシーを無制限に設定したら、インストールの完了後にポリシーを元の状態に戻す必要があります。


83
私のために働いた。64ビットシステムのPowerShellでExecutionPolicyを変更すると、64ビットバージョンのPowerShellの場合のみ変更されます。ただし、VSは32ビットプロセスであり、「Package Manager Console」も32ビットプロセスです。これを修正するにstart-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Jobは、64ビットのPowerShellコンソールで実行できます。
ガブリエル

69
後でVisual Studioを再起動する必要があります。
ダニーVarod 2014

正常に動作します。パッケージ自体が機能しないソリューションを提案するのは残念です。その後、元のポリシーを有効にすることを忘れないでください。
Mohoch 2014年

9
VS 2013を閉じ、管理者として実行し、正常に動作し始めました...ワイアード
Rusty

9
VS2015でこの問題が発生し、NuGetパッケージマネージャを更新するだけで問題が解決しました
Shawson

55

Set-ExecutionPolicy UnrestrictedPowerShell(x86)を実行した後は、必ずVisual Studioを再起動してください。

それが機能しない場合はSet-ExecutionPolicy RemoteSigned、PowerShell(x86)で試してから、Visual Studioを再起動します。


51

デフォルトでは、PowerShellスクリプトの実行はセキュリティ上の理由から非常に制限されています。NuGet内で使用するには、ドアを開く必要があります。

1.ステップ

を開いてWindows PowerShell実行Administrator

2.ステップ

NuGetは32ビットコンソールを使用しているため、64ビットコンソールへの変更による影響を受けません。次のスクリプトを実行して、32ビットコンソールを構成していることを確認します。

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

3.ステップ

再起動 Visual Studio


ありがとうございました!あなたが述べた方法でwindows powershellコマンドを実行したときにのみ、それは機能しました。本当にありがとう!
Echiban 2015

これは次の環境で機能しました:Windows XP、Visual Studio 2010 Web開発者エクスプレス。ビジュアルスタジオを閉じました。microsoft.com/en-us/download/confirmation.aspx?id=16818 Powershellをダウンロードしました。Powershellをインストールしました。powershellを実行して、start-job {Set-ExecutionPolicy RemoteSigned}を実行します-RunAs32 | 待機ジョブ| 受信ジョブ。ビジュアルスタジオを始め、nugetを使用。出来た。
開発者MariusŽilėnas16年

1
@muflix:その場合は不可能です。少なくとも、私はその方法を知りません。結局のところ、これはセキュリティの問題であり、管理者に任されています
Michael Sander

後でドアを閉める必要がありますか?どうやって?
Omid-RH 2016

パックのインストール時にスクリプトを実行する必要があるため、nugetを操作できないままにしておく
Michael Sander

25

[NuGetパッケージの管理]ダイアログで同じ問題が発生しました。他のユーザーに役立つ可能性がある回避策を使用します-パッケージマネージャーコンソールから実行します。

コマンドラインのpowershell commandlet install-packageを使用すると、すべて問題ありません。

「それを機能させるためだけに」セキュリティ設定を変更することに不利です。


新しい質問をする必要があります。
Tay2510 2014年

3
これは、提起された問題に直接関係しているため、これが新しい質問の根拠になるとは思いませんでした。私は新しい質問のようには聞こえないように、不満に満ちた開発者の考えを熟考するように投稿を書き直しました。
アラン

@Allanこの回答(編集後)の最後は、コメントまたは質問のいずれかである必要があります。
ダニーVarod 14

Danny様のご協力に感謝します。セキュリティ設定を変更したくない、または変更できないユーザーのために、私の経験と回避策を共有したいと思っていました。答えは今よりよく読みます。
アラン

Get-Package -Filter PartOfPackageNameインストールされたパッケージを検索し、パッケージのInstall-Package PackageName -Version 7.0.1特定のバージョンをインストールします。パッケージマネージャーコンソールの上部にある既定のプロジェクトを選択することを忘れないでください
Lu55

24

うまくいった答えはありません。

すべてのポリシーは正しかったが、パッケージのインストール時にエラーが発生した

PowerShellホストの初期化に失敗しました。PowerShell実行ポリシー設定がAllSignedに設定されている場合は、パッケージマネージャーコンソールを開いて、最初にホストを初期化します。

解決策:私はアンインストールnugetパッケージマネージャのプラグインをして再インストールし、それを。


4
アンインストールと再インストールが実際に役立った唯一のことでした。この問題はここでも説明されています:github.com/NuGet/Home/issues/974
Zsolt

2
最初にアンインストールせずにNuGet VSIXパッケージを再インストールし、問題を解決しました。
Dave


16

管理者としてVisual Studioを実行すると、うまくいきました。


1
ちなみに、パッケージをインストールしたらVSを閉じ、通常の権限で再び開くことを忘れないでください。
Liam Laverty

7

Visual Studio 2015でこの問題が発生しました。NuGetPackage Managerをアンインストールして再インストールしました。それは私のために働いた。


どうやって?それは別のプロセスで使用されていると不満を言う
Brandon

7

Nugetパッケージマネージャーを更新したところ、修正されました。


6

これは、最近6.0.4で発生し始めました。これは非常に良い解決策ではないと思いますが、ここで私に役立ちました。Visual Studioを閉じる

  1. 管理者としてWindows PowerShellプロンプトを開き(非常に重要)、次のコマンドを実行します:Set-ExecutionPolicy Bypass
  2. Visual Studioを開き、ソリューションを開き、Nugetを使用してJSON.Net(または依存関係として含まれているパッケージ)をインストールします。
  3. すべてが機能したら、次のコマンドを使用して、Powershell実行ポリシーを制限に戻すことをお勧めします:Set-ExecutionPolicy Restricted

5

Windows 10にアップグレードした後も同じ問題が発生しました。

これは私のために働いた

  1. Visual Studioを閉じる
  2. 管理者としてPowershellを実行する
  3. 走る Set-ExecutionPolicy Unrestricted
  4. 管理者としてVisual Studioを実行する
  5. プロジェクトをクリーンアップし、nugetパッケージを追加します

それでも機能しない場合は、編集してみてください 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

以下を追加

    <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>

Powershellの依存関係をに追加devenv.exe.configすることは、VS2013とVS2015の両方で私のために機能した唯一の修正です。VS2013:C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\12.0VS2015:C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0私にとってうまくいかなかったのは、実行ポリシーの変更、レジストリの実行ポリシーの変更、パッケージマネージャーの再インストール、Visual Studioの修復、Visual Studioの再起動、Windowsの再起動でした。
ルバノフ2016

うわぁ。他のすべてのメソッドは、VS 2015では私のためにそれを解決しませんでした。devenv.exe.configへの依存関係の追加のみが役立ちました。この後、stackoverflow.com / questions / 12638289 / …も見つかりました。どうもありがとうございました!!!
nharrer 2017


4

デフォルトでは、私のWindows 10 64ビットではPowershellバージョン1.0のみが有効になっています。コントロールパネル/プログラム/プログラムと機能/ Windows機能のオン/オフを変更しました。

Windows Powershell 2.0エンジンが有効になっていることを確認します。

管理者以外のモードでVS2015を再起動し、すべてのパッケージを正しくインストールします。


私は64ビットのWindows 10も持っており、Windows Powershell 2.0エンジンを有効にしてパッケージマネージャーコンソールを機能させる必要がありました。この問題がしばらく発生していることは奇妙であり、MicrosoftはVisual Studio 2017のインストールプロセスの一部としてPowershell 2.0エンジンを有効にしていません。
JSWilson 2017


3

Visual Studioを再起動し、NuGetを開いPackage Manager Consoleて、Manage NuGet Packagesダイアログを使用するだけで済みました。


3

すべてのVisual Studioインスタンスを閉じて、再試行してください。それは私のために働いた:)


3

上記の答えがあなたのためにうまくいかない場合-

  1. オープンラン-ウィンドウ+ R
  2. レジストリエディターを開く-regedit.exeと入力します
  3. 開く-HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ PowerShell
  4. 右側のペイン-「ExecutionPolicy」を変更し、「値のデータ」を空白のままにします。
  5. Visual Studioを再起動します。これで、Powershellが適切に初期化できます。

2

提案されたさまざまな修正を試した後、Visual StudioのNuGet Package Manager拡張機能を更新することで最終的に解決されました。

これは、[ツール]-> [拡張機能と更新]で行われ、次に[拡張機能と更新]ダイアログで[更新]-> [Visual Studioギャラリー]で行われます。Visual Studioの再起動が必要になる場合があります。



2

VS2015:NuGetを更新して動作しました。


こっちも一緒。VS2015を使用していて、Nuget Package Managerを更新しただけで機能しました。
iheartcsharp 2017年


2

上記のいずれでも問題が解決しない場合は、Visual Studioを更新できるかどうかを確認してください。

Newtonsoft.Jsonをインストールしようとしたときに、Visual Studio 2017 Communityでも同じ問題が発生しました。のExecutionPolicy変更は役に立ちませんでした(PowerShellとレジストリエディターの両方を使用してみました)。NuGetのアンインストールとインストールも試みました。

VS2017セットアップファイルを実行した後、Visual Studioの更新を要求しました。アップデート後、すべての問題が解消されました。


1

私にとって、実行ポリシーをUnrestrictedに設定しても機能しませんでした。コントロールパネルに移動して、vs2013のインストールを修復する必要がありました。インストールの修復は私にとってはうまくいきました。


1

同じ問題があり、これで解決しました(管理者としてのPowerShell):

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

1

提案されたすべての解決策を試した後、VS 2015 update 2では何も機能しませんでした

ソリューションフォルダーからパッケージフォルダーを削除し、それをVisual Studioから復元するとうまくいきました


1

同様の問題がありました。「Windowsの機能の有効化または無効化」で「Windows PowerShell 2.0」機能をオンにすることで修正しました。この機能はデフォルトでオンになっていることに注意してください。数日前に手動でオフにしました。

私はWindows 10 Pro 64ビットで作業していますが、同じ問題がVisual Studio 2015および2017(32ビットおよび64ビットアプリ)でも発生しました


0

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.

更新-編集:

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

これは、PowershellにVisual Studio 2013と2015を台無しにすることを知らずに、より多くのアクセス許可を与えた後に修正された可能性があるものです


0

この問題は、常にPowerShell実行ポリシーに関連しているとは限りません。私のマシンはPowerShell x64とx86の両方で「無制限」として構成されていますが、Visual Studio 2013では時々このエラーメッセージが表示されることがあります。

パッケージマネージャーコンソールを開こうとすると:

Windows PowerShellは実行ポリシーを正常に更新しましたが、設定は、より具体的なスコープで定義されたポリシーによって上書きされます。オーバーライドにより、シェルは現在の有効な実行ポリシーである無制限を保持します。「Get-ExecutionPolicy -List」と入力して、実行ポリシー設定を表示します。詳細については、「Get-Help Set-ExecutionPolicy」を参照してください。

これは有効なエラーメッセージではありません。

Visual Studioを再起動しても、問題が解決するわけではありません。

管理者としてプロセスを実行しても問題は解決されません。

Declanと同様に、Package Managerプラグインの最新のアップデートで問題が修正されました:2.8.60723.765


0

実行ポリシーをUnrestrictedまたはRemoteSignedではなくBypassに設定します。このチュートリアルでは、より詳細な手順を説明しています。また、PowerShellを使用してポリシーを変更できない場合は、Regeditでポリシーを変更する方法を説明します。


Unrestrictedも同様に機能するはずです。安全でないことをしている可能性がある場合に警告するだけで、Bypassは先に進んでコマンドを実行します。
Auspex

0

暗闇の中で非常に多くの刺し傷があるので、私は自分で刺します。

私の場合、ロックファイルが欠落しているというメッセージとdnu restore、パッケージマネージャーコンソールで実行することをお勧めします。私はそうしました、VSを再起動しました、そしてすべてが今動作しています。


0

私のために働いたのは:

  1. 実行ポリシーを無制限に設定します。
  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. ISEでは、 Enable-ScriptBrowser

また、ISEにはモジュール、スクリプト、およびアナライザーがあります。

Win 10 Pro、x64コンソールホスト5.0.10586.122で実行

幸運を!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.