“PowerShell ana bilgisayarı başlatılamadı” nedeniyle nuget paketi yüklenemiyor


173

Birdenbire, Nuget paketlerini yükseltirken bu hatayı alıyorum. Karşılaştığım düzeltmelerin hiçbiri işe yaramadı. Visual Studio 2013 kullanıyorum.

'Newtonsoft.Json 6.0.3' zaten kurulu.

Turnuvalara 'Newtonsoft.Json 6.0.3' eklenmesi.

Turnuvalara 'Newtonsoft.Json 6.0.3' başarıyla eklendi.

'F: \ Web'lerim \ BasketballTournaments \ MainBranch \ Packages \ Newtonsoft.Json.6.0.3 \ tools \ install.ps1' komut dosyasının yürütülmesi.

PowerShell ana bilgisayarı başlatılamadı. PowerShell yürütme ilkesi ayarınız AllSigned olarak ayarlanmışsa, önce ana bilgisayarı başlatmak için Paket Yöneticisi Konsolu'nu açın.

Paket Yöneticisi Konsolu

'FileSystem' sağlayıcısında InitializeDefaultDrives işlemini gerçekleştirme denemesi başarısız oldu.

Başlatma işleminin konsolda bitmesini beklersem bazı paketler ekleyebilirdim.


Merhaba Mike. Ben de aynı sorunu yaşıyorum. Sorunu çözmeyi başardınız ve çalışan bir nuget paket yöneticiniz var mı?
Magnus Backeus

Aynı problemim var. Powershell'in yürütme politikasını zaten Kısıtlanmamış olarak ayarladım, ancak yardımcı olmuyor. Paketi Paket Yöneticisi Konsolu'na yüklüyorum sorun yok.
Adamy

5
Sadece aynı sorunu yaşadım. Bu çözüm bana yardımcı oldu: stackoverflow.com/questions/10457039/…
Oleksii Aza

1
Windows 10'da da aynı hatayla karşılaştım. Powershell 2.0'ı "programlar ve özellikler"> "Windows Özellikleri'ni aç veya kapat" dan etkinleştirmem gerekti ve sonra tüm bunlar Visual Studio'yu yeniden başlattıktan sonra iyi çalıştı.
twoleggedhorse

Yanıtlar:


193

RemoteSigned veya Unrestricted olarak bir yürütme ilkesi ayarlamak işe yarayacaktır. Bir PowerShell konsolu aracılığıyla yönetici modunda değiştirilmelidir. Değişikliklerin PowerShell konsolunun bit sürümüne göre uygulanacağını ve 32bit veya 64 bit olacağını unutmayın. Bu nedenle, Visual Studio'ya (32 bit sürüm) belirli bir ilke gerektiren bir paket yüklemek istiyorsanız, ilkenin ayarlarını PowerShell (x86) aracılığıyla değiştirmeniz gerekir.

PowerShell'deki (yönetici olarak) ilkeyi sınırsız olarak ayarlama komutu (yorumlarda @Gabriel tarafından belirtildiği gibi):

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

İlkeyi sınırsız olarak ayarladıktan sonra, yükleme tamamlandıktan sonra ilkeyi orijinaline geri döndürmek isteyeceksiniz.


83
Benim için çalıştı. 64 bit sistemlerde PowerShell'de ExecutionPolicy'i değiştirdiğinizde, bunu yalnızca PowerShell'in 64 bit sürümü için değiştirir. Ancak VS 32 bitlik bir işlemdir ve "Package Manager Console" da 32 bitlik bir işlemdir. Bunu düzeltmek start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Jobiçin 64 bit PowerShell konsolunda çalıştırabilirsiniz.
Gabriel

69
Daha sonra Visual Studio'yu yeniden başlatmanız gerekir.
Danny Varod

İyi çalışıyor. Paketin kendisinin çalışmayan bir çözüm önerdiği üzücü. Daha sonra orijinal politikayı açmayı unutmayın.
Mohoch

9
VS 2013'ü kapattı, yönetici olarak çalıştı, iyi çalışmaya başladı ... wiered
Rusty

9
VS2015'te bu sorunu yaşadım ve sadece NuGet paackage yöneticisini güncellemek sorunu çözdü
Shawson

55

Set-ExecutionPolicy UnrestrictedPowerShell'de (x86) yaptıktan sonra Visual Studio'yu yeniden başlatmayı unutmayın .

Bu işe yaramazsa, Set-ExecutionPolicy RemoteSignedPowerShell'de (x86) deneyin ve Visual Studio'yu yeniden başlatın.


51

Varsayılan olarak, PowerShell betiğinin yürütülmesi güvenlik nedeniyle çok sınırlıdır. NuGet içinde kullanmak için kapıları açmamız gerekiyor.

1. Adım

Windows PowerShell, farklı çalıştırAdministrator

2. Adım

NuGet 32 ​​bit konsolu kullanıyor, bu yüzden 64 bit konsoldaki değişikliklerden etkilenmeyecek. 32 bit konsolu yapılandırdığınızdan emin olmak için aşağıdaki komut dosyasını çalıştırın.

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

3. Adım

Tekrar başlat Visual Studio


Teşekkür ederim! Ben sadece windows powershell komutunu belirttiğiniz şekilde yaptığımda işe yaradı. Çok teşekkürler!
Echiban

Bu aşağıdaki ortam için çalıştı: windows xp, visual studio 2010 Web geliştirici ekspres. Görsel stüdyosu kapattım. İndirilen microsoft.com/en-us/download/confirmation.aspx?id=16818 PowerShell. Kurulu Powershell. Powershell'i çalıştırın ve yürütülen başlangıç ​​işi {Set-ExecutionPolicy RemoteSigned} -RunAs32 | bekleme işi | İş Al. Görsel stüdyoya başladı ve nuget kullandı. İşe yaradı.
Geliştirici Marius Žilėnas

1
@muflix: bu durumda mümkün değil, en azından nasıl olacağını bilemezdim. Sonunda bir güvenlik sorunu ve yöneticilere bırakıldı
Michael Sander

sonra kapıları kapatmamız gerekiyor mu? Nasıl?
Omid-RH

kapatılması, paketlerin yüklenmesi sırasında komut dosyaları yürütmesi gerektiği için nugeti çalışmaz hale getirecektir
Michael Sander

25

NuGet Paketlerini Yönet iletişim kutusunda da aynı sorun var, paket yöneticisi konsolundan çalışarak başkalarına yardımcı olabilecek bir geçici çözüm kullanıyorum:

Komut satırı powershell komut dosyası install-package'ı kullanırsam, her şey yolunda demektir.

Bir güvenlik ayarını "sadece işe yaraması için" değiştirmekten olumsuz duyuyorum.


Yeni bir soru sormalısın.
Tay2510

3
Bunun doğrudan gündeme getirilen konu ile ilgili olduğu için yeni bir soru gerektirdiğini düşünmüyordum. Yeni bir soru gibi değil, hoşnutsuz bir geliştiricinin eserleri gibi görünecek şekilde yazıyı yeniden yazdım.
Allan

@Allan Bu cevabın sonu (düzenleme sonrası) ya bir yorum ya da soru olmalıdır.
Danny Varod

Girdiğiniz için teşekkürler Danny, güvenlik ayarlarımı istemeyen veya değiştiremeyen insanlar için deneyimimi ve olası bir çözümü paylaşmayı umuyordum. Cevap şimdi daha iyi okuyor.
Allan

Get-Package -Filter PartOfPackageNameyüklü pakette arama yapmak, paketin Install-Package PackageName -Version 7.0.1belirli bir sürümünü yüklemek için. Paket Yöneticisi Konsolu'nun üstündeki Varsayılan Proje'yi seçmeyi unutmayın
Lu55

24

Benim için hiçbir cevap işe yaramadı.

Tüm politikalar doğruydu ancak bir paketi yüklerken hatayla karşılaştım

PowerShell ana bilgisayarı başlatılamadı. PowerShell yürütme ilkesi ayarınız AllSigned olarak ayarlanmışsa, önce ana bilgisayarı başlatmak için Paket Yöneticisi Konsolu'nu açın.

Çözelti : Ben var kaldırıldı Nuget paket yöneticisi eklentisi ve yeniden onu.


4
Kaldırma ve yeniden yükleme gerçekten yardımcı olan tek şeydi. Bu sorun da burada açıklanmıştır: github.com/NuGet/Home/issues/974
Zsolt

2
NuGet VSIX paketini önce kaldırmadan yeniden yükledim, bu da sorunu çözdü.
Dave

VS2015
hoang

16

Visual Studio'yu Yönetici olarak çalıştırmak benim için çalıştı.


1
Yine de, insanlar paketiniz kurulduktan sonra VS'yi kapatmayı ve düzenli izinler altında yeniden açmayı unutmamalıdır.
Liam Laverty

7

Visual Studio 2015 ile ilgili bu sorunu yaşadım. NuGet Package Manager'ı kaldırıp yeniden yükledim. Benim için çalıştı.


Nasıl? Başka bir işlem tarafından kullanıldığından şikayet ediyor
Brandon

7

Nuget paket yöneticisini güncelledim ve bu benim için düzeltildi.


6

Bu son zamanlarda 6.0.4 ile benim için başladı, bunun çok iyi bir çözüm olduğunu düşünmüyorum ama işte bana yardımcı olan şey bu. Visual Studio'yu kapatın

  1. Windows PowerShell istemini Yönetici olarak açın (çok önemli) ve aşağıdaki komutu çalıştırın: Set-ExecutionPolicy Bypass
  2. Visual Studio'yu açın, çözümünüzü açın ve JSON.Net'i (veya bağımlılık olarak içerdiği herhangi bir paketi) yüklemek için Nuget'i kullanın.
  3. Her şey çalıştıktan sonra, powershell yürütme ilkesini aşağıdaki komutla kısıtlanmış olarak ayarlamanızı öneririm: Set-ExecutionPolicy Restricted

5

Windows 10'a yükselttikten sonra aynı sorunu yaşadım.

Bu benim için çalıştı

  1. Visual Studio'yu kapatın
  2. Powershell'i yönetici olarak çalıştır
  3. Çalıştırmak Set-ExecutionPolicy Unrestricted
  4. Visual studio'yu yönetici olarak çalıştır
  5. Projeyi temizleyin ve nuget paketini ekleyin

Hala çalışmıyorsa düzenlemeyi deneyin 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

Aşağıdakileri ekleyin

    <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 bağımlılıklarını eklemek devenv.exe.config, hem VS2013 hem de VS2015'te benim için çalışan tek düzeltmedir. VS2013: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\12.0VS2015: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0Benim için işe yaramayan şey, yürütme ilkesini değiştirmek, kayıt defterindeki yürütme ilkesini değiştirmek, paket yöneticisini yeniden yüklemek, visual studio'u onarmak, visual studio'u yeniden başlatmak, pencereleri yeniden başlatmaktı.
Rubanov

Wooooow. Diğer tüm yöntemler VS 2015'te benim için çözmedi. Sadece devenv.exe.config bağımlılıklarını eklemek yardımcı oldu. Bundan sonra da stackoverflow.com/questions/12638289/… buldum . Çok çok teşekkür ederim!!!
nharrer


4

Varsayılan olarak Windows 10 64 bitimde yalnızca Powershell sürüm 1.0 etkinleştirilmişti. Kontrol panelini değiştirdim / Programlar / Programlar ve özellikler / Windows özelliklerini Açma.

Windows Powershell 2.0 motorunun etkin olduğundan emin olun.

VS2015'i yönetici olmayan modda ve tüm paketler doğru bir şekilde yüklendiğinde yeniden başlatın.


Ayrıca Windows 10 64-bitim var ve Paket Yöneticisi Konsolunun çalışmasını sağlamak için Windows Powershell 2.0 motorunu etkinleştirmem gerekiyordu. Bu sorunun bir süredir etrafta olması tuhaftır ve Microsoft, Powershell 2.0 altyapısını Visual Studio 2017 yükleme işleminin bir parçası olarak etkinleştirmemiştir.
JSWilson


3

Tek yapmam gereken Visual Studio'yu yeniden başlatmak, NuGet'i açmak Package Manager Consoleve daha sonra Manage NuGet Packagesçalışılan iletişim kutusunu kullanmaktı .


3

Tüm görsel stüdyo örneklerini kapatın ve tekrar deneyin. Benim için çalıştı :)


3

Yukarıdaki cevaplar sizin için çalışıyorsa -

  1. Açık Çalıştır - windows + R
  2. Kayıt defteri düzenleyicisini aç - regedit.exe yazın
  3. Açık - HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ PowerShell
  4. Sağ bölmede - "ExecutionPolicy" dosyasını değiştirin ve "Değer Verilerini" boş bırakın.
  5. Görsel stüdyonuzu yeniden başlatın, Şimdi Powershell'iniz düzgün bir şekilde başlayabilir.

2

Çeşitli önerilen düzeltmeleri denedikten sonra, sonunda Visual Studio'da NuGet Paket Yöneticisi uzantısı güncellenerek çözüldü.

Bu, Araçlar -> Uzantılar ve Güncellemeler altında, ardından Güncellemeler -> Visual Studio Galerisi'nde Uzantılar ve Güncellemeler iletişim kutusunda yapılır. Visual Studio'nun yeniden başlatılması gerekebilir.


2

VS 2013 Güncelleştirme 5'i kullanıyorsanız, 2.8.7 sürümünü el ile yüklemeniz gerekir NuGet Packet Manager için .

Hata raporu daha fazla ayrıntı vardır.


2

VS2015: NuGet güncellendi ve çalıştı.


Burada aynı. VS2015 kullanıyordum ve sadece Nuget Paket Yöneticisi'ni güncelledi ve çalıştı.
iheartcsharp


2

Yukarıdakilerin hiçbiri yardımcı olmazsa, Visual Studio'yu güncelleyip güncelleyemeyeceğinize bakın.

Newtonsoft.Json'u yüklemeye çalıştığımda Visual Studio 2017 Community ile de aynı sorunu yaşadım. ExecutionPolicyDeğişiklik (Ben PowerShell ve Kayıt Defteri Düzenleyicisi'ni ikisini de kullanarak çalıştı) yardımcı olmadı. Ayrıca NuGet'i kaldırmaya ve yüklemeye çalıştım.

VS2017 kurulum dosyasını çalıştırdıktan sonra, Visual Studio'nun güncellenmesini istedi. Güncellemeden sonra tüm sorunlar ortadan kalktı.


1

Benim için yürütme politikasını Sınırsız olarak ayarlamak işe yaramadı. Ben zorunda vs2013 onarmak Denetim Masası girerek kurulumu. Kurulumun onarılması benim için çalıştı.


1

Aynı sorunu vardı ve bu benim için çözdü (Powershell yönetici olarak):

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

1

önerilen tüm çözümü denedikten sonra VS 2015 güncelleme 2'de hiçbir şey işe yaramadı

paket klasörünü çözüm klasöründen silmek ve visual studio'dan geri yüklemek benim için çalıştı


1

Benzer bir sorun yaşadım. "Windows özelliklerini aç veya kapat" içinde "Windows PowerShell 2.0" özelliğini açarak düzelttim. Bu özelliğin varsayılan olarak açık olduğunu, birkaç gün önce manuel olarak kapattığımı unutmayın.

Windows 10 Pro 64bit üzerinde çalışıyorum ve aynı sorun Visual Studio 2015 ve 2017 (32bit ve 64bit uygulaması) ile oldu


0

Windows PowerShell Yönetim Şablonlarını İndirme ve Yükleme

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.

GÜNCELLEME - DÜZENLE:

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

Bu benim powershell görsel stüdyo 2013 ve 2015 berbat olacağını bilmeden daha fazla izin verdikten sonra sabit olabilir


0

Bu sorun her zaman PowerShell Yürütme İlkesi ile ilgili değildir. Makinem hem PowerShell x64 hem de x86 için "Sınırsız" olarak yapılandırılmış, ancak yine de zaman zaman Visual Studio 2013'te bu hata iletisini alıyorum.

Paket Yöneticisi Konsolu'nu açmaya çalıştığımda:

Windows PowerShell, yürütme ilkenizi başarıyla güncelleştirdi, ancak ayar, daha spesifik bir kapsamda tanımlanan bir ilke tarafından geçersiz kılınır. Geçersiz kılma nedeniyle, kabuğunuz geçerli etkin Sınırsız uygulama ilkesini koruyacaktır. Yürütme ilkesi ayarlarınızı görüntülemek için "Get-ExecutionPolicy -List" yazın. Daha fazla bilgi için lütfen bkz. "Get-Help Set-ExecutionPolicy".

Bu geçerli bir hata mesajı değil.

Visual Studio'nun yeniden başlatılması sorunu her zaman çözmez.

Süreci bir yönetici olarak çalıştırmak sorunu asla çözmez.

Declan gibi, Paket Yöneticisi eklentisinin en son güncellemesi sorunu düzeltti: 2.8.60723.765


0

Yürütme ilkesini Sınırsız veya Uzak İmzalanmış yerine Baypas olarak ayarlayın; bu öğretici daha kapsamlı talimatlar verir . Ayrıca, ilkeyi değiştirmek için PowerShell kullanma konusunda sorun yaşıyorsanız, yazar Regedit'te nasıl değiştireceğinizi gösterir.


Sınırsız da iyi çalışmalıdır - sadece güvenli olmayan bir şey yaptığınızda sizi uyarır, burada Bypass devam eder ve komutu çalıştırır.
Auspex

0

Burada karanlıkta çok fazla bıçak var, bu yüzden kendim ekleyeceğim.

Benim durumumda, eksik bir kilit dosyasının olduğunu ve dnu restorepaket yöneticisi konsolunda çalıştırılması için bir öneri olduğunu belirten bir mesaj aldım . Bunu yaptım, VS'yi yeniden başlattım ve şimdi her şey çalışıyor.


0

Benim için işe yarayan:

  1. Yürütme ilkesini Sınırsız olarak ayarlayın.
  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. İMKB'de ihtiyacınız var Enable-ScriptBrowser

İMKB'nizde Modül, Komut Dosyası ve Analizör bulunmaktadır.

Win 10 Pro, x64 Konsol Ana Bilgisayarı 5.0.10586.122'de çalıştırın

İyi şanslar!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.