Không thể cài đặt gói nuget vì không thành công để khởi tạo máy chủ PowerShell


173

Thật bất ngờ, tôi gặp lỗi này khi nâng cấp các gói Nuget. Không có bản sửa lỗi nào mà tôi gặp phải trong công việc. Tôi đang sử dụng Visual Studio 2013.

'Newtonsoft.Json 6.0.3' đã được cài đặt.

Thêm 'Newtonsoft.Json 6.0.3' vào Giải đấu. Thông báo.

Đã thêm thành công 'Newtonsoft.Json 6.0.3' vào các giải đấu. Thông báo.

Thực thi tệp tập lệnh 'F: \ My Webs \ BasketballTouritions \ MainBranch \ tests \ Newtonsoft.Json.6.0.3 \ tools \ install.ps1'.

Không thể khởi chạy máy chủ PowerShell. Nếu cài đặt chính sách thực thi PowerShell của bạn được đặt thành AllSign, hãy mở Bảng điều khiển quản lý gói để khởi tạo máy chủ trước.

Bảng điều khiển quản lý gói

Cố gắng thực hiện thao tác LaunchizeDefaultDrive trên nhà cung cấp 'FileSystem' không thành công.

Nếu tôi đợi quá trình khởi tạo kết thúc trong giao diện điều khiển, tôi có thể thêm một số gói.


Chào Mike. Tôi có vấn đề chính xác như nhau. Bạn đã quản lý để giải quyết vấn đề và bạn có một trình quản lý gói nuget đang hoạt động chưa?
Magnus Backeus

Tôi có cùng một vấn đề. Tôi đã đặt chính sách thực thi của Powershell là Không bị hạn chế, nhưng nó không có ích. Tôi cài đặt gói trong Gói quản lý gói không có vấn đề.
Adamy

5
Chỉ cần trải qua vấn đề tương tự. Giải pháp này đã giúp tôi: stackoverflow.com/questions/10457039/ từ
Oleksii Aza

1
Tôi đã gặp lỗi tương tự trên Windows 10. Tôi đã phải bật Powershell 2.0 từ "chương trình và tính năng"> "Bật hoặc tắt tính năng của Windows" và sau đó tất cả đều hoạt động tốt sau khi khởi động lại studio hình ảnh.
twoleggedhorse

Câu trả lời:


193

Đặt chính sách thực thi thành RemoteSign hoặc Unrictricted sẽ hoạt động. Nó phải được thay đổi dưới chế độ quản trị viên thông qua bảng điều khiển PowerShell. Xin lưu ý rằng các thay đổi sẽ được áp dụng theo phiên bản bit của bảng điều khiển PowerShell, do đó, 32 bit hoặc 64 bit. Vì vậy, nếu bạn muốn cài đặt gói trong Visual Studio (phiên bản 32 bit) yêu cầu chính sách cụ thể, bạn nên thay đổi cài đặt của chính sách thông qua PowerShell (x86).

Lệnh trong PowerShell (với tư cách quản trị viên) để đặt chính sách thành không giới hạn (như được lưu ý bởi @Gabriel trong các nhận xét) là:

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

Sau khi đặt chính sách thành không giới hạn, bạn sẽ muốn đặt chính sách trở lại ban đầu sau khi cài đặt hoàn tất.


83
Đã làm cho tôi. Khi bạn thay đổi ExecutPolicy trong PowerShell trên các hệ thống 64 bit, nó sẽ chỉ thay đổi nó cho phiên bản 64 bit của PowerShell. Nhưng VS là một quá trình 32 bit và "Bảng điều khiển quản lý gói" cũng là một quá trình 32 bit. Để khắc phục điều này, bạn có thể thực thi start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Jobtrong bảng điều khiển PowerShell 64 bit.
Gabriel

69
Bạn cần khởi động lại Visual Studio sau đó.
Daniel Varod

Hoạt động tốt. Thật đáng tiếc gói chính nó gợi ý một giải pháp không hoạt động. Và đừng quên bật chính sách ban đầu sau đó.
Mohoch

9
Đã đóng VS 2013, chạy với tư cách quản trị viên, bắt đầu hoạt động tốt ... trở nên tồi tệ
Rusty

9
Tôi đã gặp sự cố này trong VS2015 và chỉ cần cập nhật trình quản lý tài khoản NuGet đã giải quyết vấn đề
Shawson

55

Hãy nhớ khởi động lại Visual Studio sau khi bạn đã thực hiện Set-ExecutionPolicy Unrestrictedtrong PowerShell (x86).

Nếu điều đó không hiệu quả, hãy thử Set-ExecutionPolicy RemoteSignedtrong PowerShell (x86), sau đó khởi động lại Visual Studio.


51

Theo mặc định, việc thực thi tập lệnh PowerShell rất hạn chế vì lý do bảo mật. Để sử dụng trong NuGet, chúng tôi cần mở cửa.

1 bước

Mở Windows PowerShell, chạy nhưAdministrator

2. Bước

NuGet đang sử dụng bảng điều khiển 32 bit, vì vậy nó sẽ không bị ảnh hưởng bởi những thay đổi đối với bảng điều khiển 64 bit. Chạy đoạn script sau để đảm bảo bạn đang cấu hình bàn điều khiển 32 bit.

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

3. Bước

Khởi động lại Visual Studio


Cảm ơn bạn! Chỉ khi tôi thực hiện lệnh windows powershell theo cách bạn đã nói thì nó mới hoạt động. Cám ơn rất nhiều!
Echiban

Điều này làm việc cho môi trường sau: windows xp, visual studio 2010 Web developers express. Tôi đóng cửa phòng thu hình ảnh. Đã tải xuống microsoft.com/en-us/doad/conf Confirmation.aspx? Id = 16818 Powershell. Powershell đã cài đặt. Chạy powershell và thực hiện start-job {Set-ExecutPolicy RemoteSign} -RunAs32 | công việc chờ đợi | Nhận công việc. Bắt đầu studio hình ảnh và sử dụng nuget. Nó đã làm việc.
Nhà phát triển Marius ilėnas

1
@muflix: không thể trong trường hợp đó, ít nhất là tôi không biết làm thế nào. Cuối cùng, đó là một vấn đề bảo mật và do đó để lại cho các quản trị viên
Michael Sander

chúng ta có cần đóng cửa lại không? làm sao?
Omid-RH

việc đóng nó sẽ khiến nuget không thể hoạt động vì nó cần thực thi các tập lệnh trong khi cài đặt các gói
Michael Sander

25

Tôi gặp vấn đề tương tự với hộp thoại Manage NuGet Gói, tôi sử dụng một công việc có thể giúp người khác - chạy từ bảng điều khiển quản lý gói:

Nếu tôi sử dụng gói cài đặt powershell dòng lệnh, tất cả đều ổn.

Tôi bất lợi khi thay đổi cài đặt bảo mật "chỉ để làm cho nó hoạt động".


Bạn nên hỏi một câu hỏi mới.
Tay2510

3
Tôi không nghĩ rằng điều này đảm bảo một câu hỏi mới vì nó liên quan trực tiếp đến vấn đề được nêu ra. Tôi đã sắp xếp lại bài đăng để không nghe quá giống một câu hỏi mới mà là suy nghĩ của một nhà phát triển bất mãn.
Allan

@ ALLan Kết thúc của câu trả lời này (chỉnh sửa bài) nên là một bình luận hoặc một câu hỏi.
Daniel Varod

Cảm ơn về sự đóng góp của bạn, Daniel, tôi đã hy vọng chia sẻ kinh nghiệm của mình và khả năng giải quyết cho những người không muốn hoặc không thể thay đổi cài đặt bảo mật. Câu trả lời không đọc tốt hơn bây giờ.
Allan

Get-Package -Filter PartOfPackageNameđể tìm kiếm thông qua gói đã cài đặt, Install-Package PackageName -Version 7.0.1để cài đặt phiên bản cụ thể của gói. Đừng quên chọn Dự án mặc định ở đầu Bảng điều khiển quản lý gói
Lu55

24

Không có câu trả lời đã làm việc cho tôi.

Tất cả các chính sách đều đúng nhưng tôi gặp lỗi khi cài đặt gói

Không thể khởi chạy máy chủ PowerShell. Nếu cài đặt chính sách thực thi PowerShell của bạn được đặt thành AllSign, hãy mở Bảng điều khiển quản lý gói để khởi tạo máy chủ trước.

Các giải pháp : Tôi đã gỡ bỏ cài đặt các quản lý gói NuGet plugin và cài đặt lại nó.


4
Gỡ cài đặt và cài đặt lại là điều duy nhất thực sự có ích. Vấn đề này cũng được mô tả ở đây: github.com/NuGet/Home/issues/974
Zsolt

2
Tôi đã cài đặt lại gói NuGet VSIX mà không gỡ cài đặt trước, điều này đã giải quyết được vấn đề.
Dave


16

Chạy Visual Studio là Quản trị viên làm việc cho tôi.


1
Ditto, mặc dù mọi người nên nhớ đóng VS sau khi gói của bạn được cài đặt và mở lại dưới sự cho phép thông thường.
Liam Laverty

7

Tôi gặp vấn đề này với Visual Studio 2015. Tôi đã gỡ cài đặt và cài đặt lại Trình quản lý gói NuGet một lần nữa. Nó làm việc cho tôi.


Làm sao? Nó phàn nàn rằng nó đang được sử dụng bởi một quy trình khác
Brandon

7

Tôi đã cập nhật trình quản lý gói Nuget và nó đã sửa nó cho tôi.


6

Điều này bắt đầu xảy ra với 6.0.4 gần đây đối với tôi, tôi không nghĩ đây là một giải pháp rất tốt nhưng đây là điều đã giúp tôi. Đóng Visual Studio

  1. Mở lời nhắc Windows PowerShell với tư cách Quản trị viên (rất quan trọng) và chạy lệnh sau: Set-ExecutPolicy Bypass
  2. Mở Visual Studio, mở giải pháp của bạn và sử dụng Nuget để cài đặt JSON.Net (hoặc bất kỳ gói nào bao gồm nó như một phần phụ thuộc).
  3. Khi mọi thứ đang hoạt động, tôi khuyên bạn nên đặt lại chính sách thực thi powershell bằng lệnh sau: Set-ExecutPolicy Restricted

5

Tôi gặp vấn đề tương tự sau khi nâng cấp lên Windows 10.

Điều này làm việc cho tôi

  1. Đóng Visual Studio
  2. Chạy Powershell với tư cách quản trị viên
  3. Chạy Set-ExecutionPolicy Unrestricted
  4. Chạy Visual studio với tư cách quản trị viên
  5. Làm sạch dự án và thêm gói nuget

Nếu nó vẫn không hoạt động, hãy thử chỉnh sửa 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

Thêm những điều sau

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

Thêm các phụ thuộc Powershell vào devenv.exe.configlà sửa chữa duy nhất phù hợp với tôi cả trong VS2013 và VS2015. VS2013: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\12.0VS2015: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0Điều không phù hợp với tôi là thay đổi chính sách thực thi, thay đổi chính sách thực thi trong sổ đăng ký, cài đặt lại trình quản lý gói, sửa chữa studio trực quan, khởi động lại studio trực quan, khởi động lại windows.
Rubanov

Wooooow. Tất cả các Phương thức khác không giải quyết được cho tôi trong VS 2015. Chỉ thêm các phụ thuộc vào devenv.exe.config. Sau này tôi cũng tìm thấy stackoverflow.com/questions/12638289/ . Cảm ơn bạn rất nhiều!!!
nharrer


4

Theo mặc định, Windows 10 64 bit của tôi chỉ bật Powershell phiên bản 1.0. Tôi đã thay đổi bảng điều khiển / Chương trình / Chương trình và tính năng / Bật tính năng Windows.

Đảm bảo rằng công cụ Windows Powershell 2.0 được bật.

Khởi động lại VS2015 ở chế độ không phải quản trị viên và với tất cả các gói được cài đặt chính xác.


Tôi cũng có Windows 10 64-bit và tôi cần kích hoạt công cụ Windows Powershell 2.0 để Gói Trình quản lý gói hoạt động. Một điều kỳ lạ là vấn đề này đã xuất hiện được một thời gian và Microsoft đã không kích hoạt công cụ Powershell 2.0 như một phần của quy trình cài đặt Visual Studio 2017.
JSWilson

4

Tôi gặp vấn đề tương tự với vs2013 và thay đổi chính sách thực thi đã không khắc phục được. Giải pháp làm việc duy nhất tôi tìm thấy là gỡ cài đặt Nuget khỏi VS và cài đặt lại. Các bước có tại đây: https://stackoverflow.com/a/32619961/3853238


3

Tất cả những gì tôi cần làm là khởi động lại Visual Studio, mở NuGet Package Manager Console và sau đó sử dụng Manage NuGet Packageshộp thoại hoạt động.


3

Đóng tất cả các trường hợp phòng thu trực quan và thử lại. Nó làm việc cho tôi :)


3

Nếu câu trả lời trên dint làm việc cho bạn -

  1. Mở Run - windows + R
  2. Mở trình soạn thảo sổ đăng ký - gõ regedit.exe
  3. Mở - HKEY_LOCAL_MACHINE \ SOFTWARE \ Chính sách \ Microsoft \ Windows \ PowerShell
  4. Trong khung bên phải - Sửa đổi "ExecutPolicy" và giữ "Dữ liệu giá trị" của nó ở dạng trống.
  5. Khởi động lại phòng thu trực quan của bạn, Bây giờ Powershell của bạn có thể khởi tạo đúng cách.

2

Sau khi thử các bản sửa lỗi được đề xuất khác nhau, cuối cùng nó đã được giải quyết bằng cách cập nhật tiện ích mở rộng Trình quản lý gói NuGet trong Visual Studio.

Điều này được thực hiện trong Công cụ -> Tiện ích mở rộng và Cập nhật, sau đó trong hộp thoại Mở rộng và Cập nhật được cập nhật -> Thư viện Visual Studio. Có thể cần phải khởi động lại Visual Studio.



2

VS2015: Cập nhật NuGet và hoạt động.


Tương tự ở đây. Đang sử dụng VS2015 và vừa cập nhật Trình quản lý gói Nuget và nó đã hoạt động.
i yêucsharp


2

Nếu không có cách nào ở trên giúp được, hãy xem bạn có thể cập nhật Visual Studio không.

Tôi gặp vấn đề tương tự với Cộng đồng Visual Studio 2017 khi tôi cố gắng cài đặt Newtonsoft.Json. Các ExecutionPolicythay đổi này không giúp (tôi đã cố gắng sử dụng cả hai PowerShell và Registry Editor). Tôi cũng đã cố gắng gỡ cài đặt và cài đặt NuGet.

Sau khi chạy tệp thiết lập VS2017, nó đã yêu cầu cập nhật Visual Studio. Tất cả các vấn đề biến mất sau khi cập nhật.


1

Đối với tôi, việc đặt chính sách thực thi thành Không giới hạn không hoạt động. Tôi đã phải sửa chữa cài đặt vs2013 bằng cách vào Bảng điều khiển. Sửa chữa cài đặt làm việc cho tôi.


1

Có cùng một vấn đề và điều này đã giải quyết nó cho tôi (Powershell là quản trị viên):

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

1

Sau khi thử tất cả các giải pháp được đề xuất, không có gì hoạt động trên VS 2015 update 2

xóa thư mục gói khỏi thư mục giải pháp và khôi phục nó từ studio trực quan làm việc cho tôi


1

Tôi đã có một vấn đề tương tự. Tôi đã sửa nó bằng cách bật tính năng "Windows PowerShell 2.0" trong "Bật hoặc tắt tính năng của Windows". Lưu ý rằng tính năng này được bật theo mặc định, tôi đã tắt thủ công vài ngày trước.

Tôi đang làm việc trên Windows 10 Pro 64bit và vấn đề tương tự là với Visual Studio 2015 và 2017 (ứng dụng 32 bit và 64 bit)


0

Tải xuống và cài đặt mẫu quản trị cho 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.

CẬP NHẬT - EDIT:

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

Đây là những gì đã được sửa chữa sau khi tôi đã cấp cho quyền hạn của mình nhiều quyền hơn khi không biết rằng nó sẽ gây rối cho studio hình ảnh 2013 và 2015


0

Vấn đề này không phải lúc nào cũng liên quan đến Chính sách thực thi PowerShell. Máy của tôi được định cấu hình là "Không giới hạn" cho cả PowerShell x64 và x86, nhưng tôi vẫn nhận được thông báo lỗi này theo thời gian trong Visual Studio 2013.

Khi tôi cố gắng mở Bảng điều khiển quản lý gói:

Windows PowerShell đã cập nhật chính sách thực thi của bạn thành công, nhưng cài đặt bị ghi đè bởi chính sách được xác định ở phạm vi cụ thể hơn. Do ghi đè, trình bao của bạn sẽ giữ nguyên chính sách thực thi hiệu quả hiện tại của nó là Không giới hạn. Nhập "Get-ExecutPolicy -List" để xem các cài đặt chính sách thực thi của bạn. Để biết thêm thông tin, vui lòng xem "Get-Help Set-ExecutPolicy".

Đây không phải là một thông báo lỗi hợp lệ.

Khởi động lại Visual Studio không phải lúc nào cũng giải quyết được vấn đề.

Chạy quá trình như một quản trị viên không bao giờ giải quyết vấn đề.

Giống như Declan, bản cập nhật mới nhất của plugin Trình quản lý gói đã khắc phục sự cố: 2.8.60723.765


0

Đặt chính sách thực thi thành Bỏ qua thay vì Không giới hạn hoặc Từ xa; hướng dẫn này cung cấp hướng dẫn đầy đủ hơn . Ngoài ra, nếu bạn gặp sự cố khi sử dụng PowerShell để thay đổi chính sách thì tác giả sẽ chỉ cho bạn cách thay đổi chính sách trong Regedit.


Không bị hạn chế cũng hoạt động tốt - nó chỉ cảnh báo bạn khi bạn có thể làm điều gì đó không an toàn, nơi Bypass sẽ tiếp tục và chạy lệnh.
Auspex

0

Có rất nhiều vết đâm trong bóng tối ở đây, vì vậy tôi sẽ tự thêm vào.

Trong trường hợp của tôi, tôi cũng nhận được một thông báo rằng có một tệp khóa bị thiếu và một khuyến nghị để chạy dnu restoretrong bảng điều khiển quản lý gói. Tôi đã làm như vậy, khởi động lại VS, và mọi thứ hiện đang hoạt động.


0

Những gì làm việc cho tôi là:

  1. Đặt chính sách Thực thi thành Không giới hạ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. Trong ISE, bạn cần Enable-ScriptBrowser

Và bạn có Mô-đun, Tập lệnh và Trình phân tích trong ISE của mình.

Chạy trong Win 10 Pro, x64 Bảng điều khiển máy chủ 5.0.10586.122

Chúc may mắn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.