Tidak dapat menginstal paket nuget karena "Gagal menginisialisasi host PowerShell"


173

Tiba-tiba, saya mendapatkan kesalahan ini saat memutakhirkan paket Nuget. Tidak ada perbaikan yang saya temui saat bekerja. Saya menggunakan Visual Studio 2013.

'Newtonsoft.Json 6.0.3' sudah diinstal.

Menambahkan 'Newtonsoft.Json 6.0.3' ke Turnamen. Pemberitahuan.

Berhasil menambahkan 'Newtonsoft.Json 6.0.3' ke Turnamen. Pemberitahuan.

Menjalankan file skrip 'F: \ My Webs \ BasketballTournaments \ MainBranch \ Packages \ Newtonsoft.Json.6.0.3 \ tools \ install.ps1'.

Gagal menginisialisasi host PowerShell. Jika pengaturan kebijakan eksekusi PowerShell Anda diatur ke AllSigned, buka Package Manager Console untuk menginisialisasi host terlebih dahulu.

Paket Pengelola Konsol

Mencoba melakukan operasi InitializeDefaultDrives pada penyedia 'FileSystem' gagal.

Jika saya menunggu inisialisasi selesai di konsol saya dapat menambahkan beberapa paket.


Hai Mike. Saya memiliki masalah yang sama persis. Sudahkah Anda berhasil menyelesaikan masalah dan Anda memiliki pengelola paket nuget yang berfungsi?
Magnus Backeus

Saya memiliki masalah yang sama. Saya sudah menetapkan kebijakan eksekusi Powershell menjadi Tidak Terbatas, tetapi tidak membantu. Saya menginstal paket di Package Manager Console tidak ada masalah.
Adamy

5
Baru saja mengalami masalah yang sama. Solusi ini telah membantu saya: stackoverflow.com/questions/10457039/...
Oleksii Aza

1
Saya memiliki kesalahan yang sama pada Windows 10. Saya harus mengaktifkan Powershell 2.0 dari "program dan fitur"> "Mengaktifkan atau menonaktifkan Fitur Windows" dan kemudian semuanya bekerja dengan baik setelah memulai kembali studio visual.
kuda pacuan ganda

Jawaban:


193

Menetapkan kebijakan eksekusi ke RemoteSigned atau Unrestricted harus berfungsi. Itu harus diubah di bawah mode administrator melalui konsol PowerShell. Perlu diketahui bahwa perubahan akan diterapkan sesuai dengan versi bit dari konsol PowerShell, jadi 32bit atau 64 bit. Jadi jika Anda ingin menginstal paket dalam Visual Studio (versi 32 bit) yang memerlukan kebijakan khusus, Anda harus mengubah pengaturan kebijakan melalui PowerShell (x86).

Perintah di PowerShell (sebagai administrator) untuk mengatur kebijakan menjadi tidak dibatasi (seperti yang dicatat oleh @Gabriel dalam komentar) adalah:

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

Setelah menyetel kebijakan ke tidak dibatasi, Anda akan ingin mengatur kebijakan kembali ke aslinya setelah instalasi selesai.


83
Bekerja untukku. Ketika Anda mengubah ExecutionPolicy di PowerShell pada sistem 64 bit, itu hanya akan mengubahnya untuk versi 64 bit PowerShell. Tetapi VS adalah proses 32 bit dan "Package Manager Console" juga merupakan proses 32 bit. Untuk memperbaikinya, Anda dapat menjalankan start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Jobkonsol PowerShell 64 bit.
Gabriel

69
Anda harus me-restart Visual Studio sesudahnya.
Danny Varod

Bekerja dengan baik. Sayang sekali paket itu sendiri menyarankan solusi yang tidak bekerja. Dan jangan lupa untuk mengaktifkan kebijakan aslinya setelah itu.
Mohoch

9
Tutup VS 2013, jalankan sebagai admin, mulai bekerja dengan baik ... wiered
Rusty

9
Saya punya masalah ini di VS2015 dan hanya memperbarui manajer paket NuGet menyelesaikan masalah
Shawson

55

Ingatlah untuk me-restart Visual Studio setelah Anda melakukan Set-ExecutionPolicy Unrestricteddi PowerShell (x86).

Jika itu tidak berhasil, coba Set-ExecutionPolicy RemoteSigneddi PowerShell (x86) kemudian restart Visual Studio.


51

Secara default, eksekusi skrip PowerShell sangat terbatas karena alasan keamanan. Untuk digunakan dalam NuGet kita perlu membuka pintu.

1. Langkah

Buka Windows PowerShell, jalankan sebagaiAdministrator

2. Langkah

NuGet menggunakan konsol 32 bit, sehingga tidak akan terpengaruh oleh perubahan pada konsol 64 bit. Jalankan skrip berikut untuk memastikan Anda mengkonfigurasi konsol 32 bit.

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

3. Langkah

Mengulang kembali Visual Studio


Terima kasih! Hanya ketika saya melakukan perintah powershell windows seperti yang Anda nyatakan berhasil. Terima kasih banyak!
Echiban

Ini berfungsi untuk lingkungan berikut: windows xp, visual studio 2010 pengembang Web express. Saya menutup studio visual. Diunduh microsoft.com/en-us/download/confirmation.aspx?id=16818 Powershell. Powershell Terpasang. Jalankan PowerShell dan jalankan start-job {Set-ExecutionPolicy RemoteSigned} -RunAs32 | tunggu-kerja | Terima-Pekerjaan. Memulai studio visual dan nuget bekas. Itu berhasil.
Pengembang Marius Žilėnas

1
@muflix: tidak mungkin dalam kasus itu, setidaknya saya tidak akan tahu caranya. Pada akhirnya ini adalah masalah keamanan dan karenanya diserahkan kepada administrator
Michael Sander

apakah kita perlu menutup pintu setelahnya? bagaimana?
Omid-RH

menutupnya akan membuat nuget tidak dapat dioperasikan karena perlu mengeksekusi skrip selama instalasi paket
Michael Sander

25

Saya memiliki masalah yang sama dengan dialog Kelola Paket NuGet, saya menggunakan solusi yang dapat membantu orang lain - berjalan dari konsol manajer paket:

Jika saya menggunakan paket perintah commandhell ​​menginstal installlet paket, semuanya baik-baik saja.

Saya menentang mengubah pengaturan keamanan "hanya untuk membuatnya bekerja".


Anda harus mengajukan pertanyaan baru.
Tay2510

3
Saya tidak berpikir ini memerlukan pertanyaan baru karena langsung berhubungan dengan masalah yang diangkat. Saya menulis ulang pos agar tidak terdengar seperti pertanyaan baru tetapi renungan dari pengembang yang tidak puas.
Allan

@ Allan Akhir dari jawaban ini (post-edit) harus berupa komentar atau pertanyaan.
Danny Varod

Terima kasih atas masukan Anda Danny, saya berharap untuk berbagi pengalaman dan kemungkinan penyelesaian bagi orang-orang yang tidak ingin atau tidak dapat mengubah pengaturan keamanan. Jawabannya memang membaca lebih baik sekarang.
Allan

Get-Package -Filter PartOfPackageNameuntuk mencari melalui paket yang diinstal, Install-Package PackageName -Version 7.0.1untuk menginstal versi paket tertentu. Jangan lupa untuk memilih Proyek Default di bagian atas Package Manager Console
Lu55

24

Tidak ada jawaban yang berhasil untuk saya.

Semua kebijakan sudah benar tetapi saya memiliki kesalahan saat menginstal paket

Gagal menginisialisasi host PowerShell. Jika pengaturan kebijakan eksekusi PowerShell Anda diatur ke AllSigned, buka Package Manager Console untuk menginisialisasi host terlebih dahulu.

The solusi : Saya telah dihapus tersebut nuget manajer paket Plugin dan diinstal ulang itu.


4
Menghapus dan menginstal ulang adalah satu-satunya hal yang memang membantu. Masalah ini juga dijelaskan di sini: github.com/NuGet/Home/issues/974
Zsolt

2
Saya menginstal ulang paket NuGet VSIX tanpa menghapusnya terlebih dahulu, yang menyelesaikan masalah.
Dave


16

Menjalankan Visual Studio saat Administrator bekerja untuk saya.


1
Ditto, meskipun orang harus ingat untuk menutup VS setelah paket Anda diinstal, dan buka kembali di bawah izin reguler.
Liam Laverty

7

Saya mengalami masalah ini dengan Visual Studio 2015. Saya mencopot dan menginstal ulang NuGet Package Manager lagi. Ini berhasil untuk saya.


Bagaimana? Itu mengeluh itu sedang digunakan oleh proses lain
Brandon

7

Saya memperbarui manajer paket Nuget dan memperbaikinya untuk saya.


6

Ini mulai terjadi dengan 6.0.4 baru-baru ini bagi saya, saya tidak berpikir ini adalah solusi yang sangat baik tetapi inilah yang membantu saya. Tutup Visual Studio

  1. Buka prompt Windows PowerShell sebagai Administrator (sangat penting) dan jalankan perintah berikut: Set-ExecutionPolicy Bypass
  2. Buka Visual Studio, buka solusi Anda dan gunakan Nuget untuk menginstal JSON.Net (atau paket apa pun yang termasuk sebagai ketergantungan).
  3. Setelah semuanya berfungsi, saya sarankan mengatur kembali kebijakan eksekusi PowerShell untuk dibatasi dengan perintah berikut: Set-ExecutionPolicy Restricted

5

Saya memiliki masalah yang sama setelah memutakhirkan ke Windows 10.

Ini berhasil untuk saya

  1. Tutup Visual Studio
  2. Jalankan Powershell sebagai admin
  3. Lari Set-ExecutionPolicy Unrestricted
  4. Jalankan Visual studio sebagai admin
  5. Bersihkan proyek dan tambahkan paket nuget

Jika masih tidak berhasil coba edit 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

Tambahkan yang berikut ini

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

Menambahkan dependensi Powershell ke devenv.exe.configadalah satu-satunya perbaikan yang bekerja untuk saya baik di VS2013 dan VS2015. VS2013: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\12.0VS2015: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0Apa yang tidak berhasil bagi saya adalah mengubah kebijakan eksekusi, mengubah kebijakan eksekusi dalam registri, menginstal ulang manajer paket, memperbaiki studio visual, memulai kembali studio visual, memulai kembali windows.
Rubanov

Wooooow. Semua Metode lain tidak menyelesaikannya untuk saya di VS 2015. Hanya menambahkan dependensi ke devenv.exe.config membantu. Setelah ini, saya juga menemukan stackoverflow.com/questions/12638289/… . Terima kasih banyak!!!
nharrer


4

Secara default Windows 10 64-bit saya hanya memiliki Powershell versi 1.0 diaktifkan. Saya mengubah panel kontrol / Program / Program dan fitur / Matikan fitur Windows Nyala.

Pastikan mesin Windows Powershell 2.0 diaktifkan.

Mulai ulang VS2015 dalam mode non-administrator dan dengan semua paket diinstal dengan benar.


Saya juga memiliki Windows 10 64-bit dan saya harus mengaktifkan mesin Windows Powershell 2.0 untuk membuat Package Manager Console berfungsi. Aneh bahwa masalah ini telah ada selama beberapa waktu dan Microsoft belum mengaktifkan mesin Powershell 2.0 sebagai bagian dari proses instalasi Visual Studio 2017.
JSWilson


3

Yang perlu saya lakukan adalah me-restart Visual Studio, buka NuGet Package Manager Console, dan kemudian menggunakan Manage NuGet Packagesdialog berhasil.



3

Jika jawaban di atas tidak bekerja untuk Anda -

  1. Buka Jalankan - windows + R
  2. Buka registry editor - ketik regedit.exe
  3. Buka - HKEY_LOCAL_MACHINE \ SOFTWARE \ Kebijakan \ Microsoft \ Windows \ PowerShell
  4. Di panel kanan - Ubah "ExecutionPolicy" dan simpan "Value Data" -nya sebagai kosong.
  5. Mulai ulang studio visual Anda, Sekarang Powershell Anda dapat diinisialisasi dengan benar.

2

Setelah mencoba berbagai perbaikan yang disarankan, akhirnya diselesaikan dengan memperbarui ekstensi NuGet Package Manager di Visual Studio.

Ini dilakukan di bawah Alat -> Ekstensi Dan Pembaruan, kemudian dalam dialog Ekstensi dan Pembaruan Diperbarui -> Galeri Visual Studio. Mungkin perlu me-restart Visual Studio.



2

VS2015: Memperbarui NuGet dan berfungsi.


Sama disini. Menggunakan VS2015 dan baru saja memperbarui Manajer Paket Nuget dan itu berhasil.
iheartcsharp


2

Jika tidak ada di atas yang membantu, lihat apakah Anda dapat memperbarui Visual Studio.

Saya memiliki masalah yang sama dengan Visual Studio 2017 Community ketika saya mencoba menginstal Newtonsoft.Json. ItuExecutionPolicy perubahan tidak membantu (saya mencoba menggunakan kedua PowerShell dan Registry Editor). Saya juga mencoba menghapus dan menginstal NuGet.

Setelah menjalankan file pengaturan VS2017, ia meminta pembaruan Visual Studio. Semua masalah hilang setelah pembaruan.


1

Bagi saya pengaturan kebijakan eksekusi ke Tidak Terbatas tidak berhasil. Saya harus memperbaiki instalasi vs2013 dengan masuk ke Control Panel. Memperbaiki instalasi berhasil bagi saya.


1

Punya masalah yang sama dan ini menyelesaikannya untuk saya (Powershell sebagai admin):

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

1

setelah mencoba semua solusi yang disarankan tidak ada yang berhasil pada pembaruan VS 2015 2

menghapus folder paket dari folder solusi dan mengembalikannya dari visual studio bekerja untuk saya


1

Saya punya masalah serupa. Saya telah memperbaikinya dengan mengaktifkan fitur "Windows PowerShell 2.0" di "Aktifkan atau nonaktifkan fitur Windows". Perhatikan bahwa fitur ini diaktifkan secara default, saya mematikannya secara manual beberapa hari yang lalu.

Saya sedang mengerjakan Windows 10 Pro 64bit dan masalah yang sama dengan Visual Studio 2015 dan 2017 (aplikasi 32bit dan 64bit)


0

Unduh dan Instal Template Administratif untuk 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" 

Ini adalah apa yang diperbaiki mungkin setelah saya memberi kuasa saya lebih banyak izin tidak tahu bahwa itu akan mengacaukan visual studio 2013 dan 2015


0

Masalah ini tidak selalu terkait dengan Kebijakan Eksekusi PowerShell. Mesin saya dikonfigurasi sebagai "Tidak Terbatas" untuk PowerShell x64 dan x86, tetapi saya masih mendapatkan pesan kesalahan ini dari waktu ke waktu di Visual Studio 2013.

Ketika saya mencoba membuka Package Manager Console:

Windows PowerShell berhasil memperbarui kebijakan eksekusi Anda, tetapi pengaturannya ditimpa oleh kebijakan yang ditentukan pada cakupan yang lebih spesifik. Karena penggantian, shell Anda akan mempertahankan kebijakan eksekusi efektif saat ini dari Unrestricted. Ketik "Get-ExecutionPolicy -List" untuk melihat pengaturan kebijakan eksekusi Anda. Untuk informasi lebih lanjut, lihat "Dapatkan-Bantuan Set-ExecutionPolicy".

Ini bukan pesan kesalahan yang valid.

Memulai ulang Visual Studio tidak selalu menyelesaikan masalah.

Menjalankan proses sebagai admin tidak pernah menyelesaikan masalah.

Seperti Declan, pembaruan terbaru dari plugin Package Manager memperbaiki masalah: 2.8.60723.765


0

Tetapkan kebijakan eksekusi ke Bypass, bukannya Unrestricted atau RemoteSigned; tutorial ini memberikan instruksi yang lebih lengkap . Juga, jika Anda mengalami kesulitan menggunakan PowerShell untuk mengubah kebijakan maka penulis menunjukkan kepada Anda bagaimana mengubahnya di Regedit.


Unrestricted seharusnya bekerja dengan baik - itu hanya memperingatkan Anda ketika Anda mungkin melakukan sesuatu yang tidak aman, di mana Bypass hanya akan melanjutkan dan menjalankan perintah.
Auspex

0

Ada banyak sekali tikaman dalam kegelapan di sini, jadi saya akan menambahkan sendiri.

Dalam kasus saya, saya juga mendapat pesan bahwa ada file kunci yang hilang, dan rekomendasi untuk dijalankan dnu restoredi konsol manajer paket. Saya melakukannya, restart VS, dan semuanya sekarang berfungsi.


0

Apa yang berhasil untuk saya adalah:

  1. Tetapkan kebijakan Eksekusi ke Tidak Terbatas.
  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. Di ISE, Anda perlu Enable-ScriptBrowser

Dan Anda memiliki Module, Script, dan Analyzer di ISE Anda.

Jalankan di Win 10 Pro, Host Konsol x64 5.0.10586.122

Semoga berhasil!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.