Không thể cài đặt bất kỳ gói nào trong Visual Studio 2015


183

Tôi đã thử mọi gói tôi có thể tìm thấy và không ai trong số họ sẽ cài đặt trong dự án của tôi. Tôi đã cài đặt mọi bản cập nhật được liệt kê trong danh sách Tiện ích mở rộng và Cập nhật có sẵn. Khi tôi cố gắng cài đặt SendGrid chẳng hạn, đây là kết quả (như là kết quả với tất cả các gói khác):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

Tôi không thể là người duy nhất trên hành tinh gặp sự cố với Visual Studio 2015 và Trình quản lý gói NuGet mới và "cải tiến".

CẬP NHẬT:
Vâng, phải là một cái gì đó kỳ lạ trong giải pháp của tôi bởi vì tôi đã tạo một dự án mới từ mẫu VS2015 (web) và các gói cài đặt tốt. Khi tôi phát hiện ra vấn đề, tôi sẽ đăng giải quyết trong trường hợp những người khác gặp phải vấn đề tương tự.

CẬP NHẬT 2:
Ok, nó không phải là giải pháp của chúng tôi. Chúng tôi đã tạo ra một giải pháp mới từ đầu một lần nữa (điều này đã lãng phí rất nhiều thời gian phát triển của chúng tôi, tôi có thể thêm vào), thêm một vài gói (Nhận dạng, EF, SendGrid) và sau khi kiểm tra giải pháp cho VSO, một nhà phát triển khác thực hiện một sáng tạo mới của chi nhánh và xây dựng xảy ra lỗi. Khi tôi đi đến các gói NuGet cho một dự án riêng lẻ, nó hoạt động như thể không có gói nào tôi đã thêm có sẵn. Bất cứ ai khác trải nghiệm điều này?


1
Sử dụng VS2013 để thêm các gói VS2015 rất có vấn đề, sau đó chỉ cần mở trong VS2015 và tiếp tục sử dụng
Rob Sedgwick

Câu trả lời:


124

tl; dr - Xóa cái này:

%AppData%/Nuget/Nuget.config

Cảnh báo: Nếu bạn có nguồn NuGet tùy chỉnh, điều này sẽ xóa chúng và bạn sẽ phải thêm lại chúng.


Phiên bản dài hơn:

Bạn có thể đã làm hỏng cấu hình NuGet của bạn. Ôi không :(

Nuget.config là một tệp được sử dụng để theo dõi tất cả các địa điểm mà NuGet lấy từ đó, cũng như định cấu hình những thứ khác. Nhiều khả năng hơn là không, tập tin xml này đã bị hỏng bằng cách nào đó.

  • Đi đến con đường này: C:\Users\{{username}}\AppData\Roaming\
  • Xóa bỏ Nuget.config
  • Khởi động lại VS cho biện pháp tốt

Để tham khảo: vào những ngày tốt của năm 2017, tệp của bạn sẽ trông giống như thế này

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>

Cảm ơn, đó là một giải pháp gọn gàng
Nic

Điều này cũng làm việc cho tôi, cảm ơn Tượng bạn đã tiết kiệm thời gian của tôi.
Rameshwar Vyevhare

1
Sự trùng hợp đáng kinh ngạc. Bài đăng này từ một năm trước được chỉnh sửa ngay trước mắt tôi khi tôi cần câu trả lời. Cảm ơn!
Jason Spake

1
Xin lỗi để làm hỏng điều này, nhưng tôi phải đặc biệt và được gọi là "NuGet.Config", rất đặc biệt trên NTFS đối với tôi!
TGP1994

2
(Trên thực tế, hóa ra tôi thậm chí không cần phải xóa cấu hình. Cần phải khởi động lại Visual Studio.)
TGP1994

415

Đóng và mở lại VS2015 giải quyết vấn đề.

Có vẻ như trong một số trường hợp, chỉ cần tải lại dự án bị ảnh hưởng sẽ hoạt động.


3
Điều này cũng hiệu quả với tôi, sau khi tôi đóng VS, lấy thư mục 'gói' cho giải pháp và khởi động lại.
Wislon

6
Điều này làm việc cho tôi, mặc dù tôi phải đóng tất cả các phiên bản của VS - chỉ đóng cái bị ảnh hưởng là không đủ.
Rory McCrossan

4
Có vẻ như rất đơn giản ... và còn hơn 111 phiếu bầu! Làm việc cho tôi quá!
Anthony Nichols

22
Tại sao, Microsoft?!?! Tại sao điều này phải là câu trả lời tốt nhất (và là câu trả lời phù hợp với tôi)?
Matt Ruwe

2
Tôi không cảm thấy thoải mái với câu trả lời nhưng nó hoạt động, chúng ta cần "tại sao"
Zinov

32

Tôi đã tìm thấy một giải pháp cho vấn đề này trong trường hợp của mình, hãy thử cập nhật Trình quản lý gói NuGet.

Để làm điều này:

  1. Từ VS, đi đến Công cụ -> Tiện ích mở rộng và Cập nhật
  2. Mở tùy chọn menu Cập nhật ở bên trái, sau đó chọn Visual Studio Gallery .
  3. Nếu có bản cập nhật cho Trình cài đặt gói Nuget, nó sẽ hiển thị trong danh sách ở bên phải. Nhấp vào Cập nhật
  4. Khởi động lại Visual Studio

Điều này cho phép tôi cài đặt các gói mà không có vấn đề một lần nữa.

Hi vọng điêu nay co ich!


1
Tôi đã làm theo điều này, tuy nhiên không có bản cập nhật nào đang chờ xử lý cho Nuget. Có một lỗi cho "Công cụ web" và điều này đã giải quyết lỗi "cấu hình nuget không hợp lệ" đối với tôi.
RyanJMcGowan

1
Có lẽ thực tế là bạn đã nâng cấp "Công cụ web", nhưng thực tế là việc cài đặt các bản cập nhật mở rộng yêu cầu bạn phải khởi động lại Visual Studio. Khởi động lại làm việc cho tôi.
Joe the Coder

Làm việc cho tôi cũng vậy
Aaron

Trong trường hợp của tôi không có bản cập nhật nào, nhưng tôi đã tải xuống phiên bản mới nhất từ dotnet.myget.org/F/nuget-vsix/vsix và nó đã hoạt động.
DavidC

20

Trong trường hợp của tôi cập nhật Microsoft.CodeDom.Providers.DotNetCompilerPlatformMicrosoft.Net.Compilers gây ra vấn đề.

Xóa bin, objpackagescác thư mục và khởi động lại Visual Studio 2015 đã giải quyết vấn đề cho tôi.


1
Các giải pháp khác không hiệu quả nhưng giải pháp này đã làm. Xóa 'gói' là chìa khóa cho tôi
Gordon Slysz

1
Tôi không biết tại sao xóa các gói có thể làm việc, nhưng nó làm! Mặc dù vậy, tôi chưa cập nhật bất cứ điều gì, tôi chỉ chuyển từ Visual Studio 2010 đến 2015 và .NET 4.0 sang 4.5.
Người bảo vệ một

Tôi có thể tìm thư mục 'gói' ở đâu? Tôi chỉ có bin và obj.
Denny

8

Bạn cần phải xóa tất cả bộ nhớ cache NuGet; Đối với điều này, bạn cần vào Tùy chọn và nhấp vào nó như thế này:

nhập mô tả hình ảnh ở đây


Chúa ơi, omg, bạn đã cứu mạng tôi, tôi đang phát điên ... Tôi luôn nhận được lỗi "Cài đặt thất bại. Quay trở lại ...". Đã thử xóa tệp cấu hình NuGet có câu trả lời được chấp nhận và cũng đã thử khởi động lại VS và máy tính ... đã xóa nguồn cấp dữ liệu nuget của tôi, được định cấu hình lại .. không có gì, nhưng sau đó, nó đã sửa nó! Cảm ơn người đàn ông rất nhiều!
TiagoM

7

Nói chung, đóng và mở lại VS 2015 đã khắc phục hầu hết các sự cố mà tôi đã gặp phải . Khi tôi cần chạy sửa chữa trên một trong những máy tính của mình.

Tuy nhiên, tôi chuẩn bị làm điều này, Closing and re-opening VS2015 resolved the issue for me tôi nghĩ rằng thay vào đó tôi sẽ nhấp chuột phải vào dự án và Unload Project sau đó nhấp chuột phải và Tải lại dự án THEN Manage Nuget đã hoạt động!


4

Chỉ cần giúp đỡ bất kỳ ai đã truy cập trang này sau khi cập nhật VS2015 để cập nhật 2 và cố gắng quản lý các gói trên trang web, nhận được lỗi "tệp cấu hình NuGet không hợp lệ", đây là sự cố đã biết và đã thừa nhận:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disables

Tôi đã làm việc lại bằng cách cài đặt trình quản lý gói 3.4.4 (beta) từ http://dist.nuget.org/index.html

Họ cũng cập nhật trạng thái 3 cho Visual Studio cũng sẽ có bản sửa lỗi


Cảm ơn rất nhiều vì chuyện này! :)
Ramanpreet Singh

3

Tôi đoán là Nuget Gói Manager đang gây rối với VSO. Tôi tạo một dự án mới, thêm các gói cho nó tốt, kiểm tra trong TFS. Sau đó, tôi về nhà, "Nhận phiên bản mới nhất" và chạy, và thất bại vì Trình quản lý gói Nuget không khôi phục các gói của tôi. Giải pháp: trên máy tính của tôi

  1. mở Muget Gói Manger, gỡ cài đặt mọi gói đã cài đặt
  2. Mở thư mục Tài liệu tham khảo, nhấp chuột phải> Xóa cho tất cả các gói bạn đã cài đặt
  3. Cài đặt lại chúng thông qua Trình quản lý gói Nuget
  4. Đăng ký vào

Tôi đã thử thêm / cập nhật các gói từ một dự án mới và trải nghiệm kết quả thất bại tương tự. Tôi đã hạ cấp xuống VS2013 cho đến khi trình quản lý gói được cập nhật trong VS2015
clockwiseq

3

Tôi đã có thể giải quyết vấn đề này bằng cách cài đặt lại Trình quản lý gói Nuget thông qua Công cụ -> Tiện ích mở rộng và Cập nhật


3

Tôi gặp vấn đề này với Visual Studio 2017: Hóa ra có hai dự án thư viện lớp - một cho .Net và một cho C #. Tôi đã tạo một gói cho .Net và khi tôi cố gắng cài đặt một gói cụ thể (Nunit trong trường hợp của tôi) tôi đã nhận được thông báo lỗi.

Tái tạo dự án khi thư viện lớp C # đã khắc phục sự cố


1

Trong trường hợp của tôi, Sự cố này xảy ra do sự không phù hợp trong cài đặt khung Target của tôi theo từng dự án. Khi tôi tạo một dự án mới, VS 2015 đã mặc định là 4.5.2, tuy nhiên tất cả các gói nuget của tôi được xây dựng cho 4.6.

Vì một số lý do, VS 2015 đã không hiển thị cho tôi những lỗi này. Tôi đã không nhìn thấy chúng cho đến khi tôi tạo một dự án trống mới và cố gắng thêm dự án nuget của mình ở đó. Hành vi này có thể đã trở nên trầm trọng hơn vì tôi đã đổi tên dự án một vài lần trong quá trình thiết lập ban đầu.

Tôi đã giải quyết vấn đề bằng cách

  • thay đổi Khung mục tiêu trên các dự án của tôi thành 4.6
  • đã đóng VS 2015
  • đã xóa các thư mục "gói", "obj" và "bin"
  • mở lại giải pháp và thử thêm gói nuget một lần nữa.

1

Tôi đang sử dụng Visual Studio 2015 Update 3 và tôi đã quản lý để tái tạo lỗi này (mặc dù Bản cập nhật 3 bị cáo buộc có bản sửa lỗi).

Như đã đề xuất ở trên, cách khắc phục đáng tin cậy là thực hiện các bước sau ... 1) Thoát Visual Studio, 2) Xóa thư mục gói , 3) Khởi động lại VS.

Nhưng ... nếu bạn không muốn thoát ngay lập tức VS vì một số lý do, tôi vẫn có thể thêm / xóa gói khỏi tất cả các dự án bằng cách chọn tùy chọn ' Quản lý gói NuGet cho Giải pháp ', thay vì dự án riêng lẻ có vấn đề .


Thư mục gói mọi người đang nói về đâu?
Tôm Crackers

@ShaleighCrackers - ở cùng vị trí với tệp giải pháp (.sln)
hộp điều khiển


1

Đơn giản chỉ cần khởi động lại Visual Studio hoạt động với tôi .. hãy thử khởi động lại Visual Studio.


0

Tôi đã có vấn đề này, mà dường như được gây ra bởi một cái gì đó bị hỏng trong packagesthư mục cấp độ giải pháp . Tôi đã xóa nội dung của thư mục và cho phép nugetcài đặt lại tất cả các gói.

Sau đó tôi có thể cài đặt các gói mới một lần nữa.


0

Mở thư mục gói. Kiểm tra xem các tệp có phần mở rộng .deleteme có tồn tại không, ví dụ Newtonsoft.Json.9.0.1.deleteme. Xóa tất cả các gói có tệp .deleteme bằng tay. Xóa các tập tin .deleteme. Đóng và mở Nuget Explorer.


0

Thay đổi "nguồn gói" trong nuget thành All

Chi tiết: Không có điều nào ở trên giúp tôi trong trường hợp của tôi. Vấn đề của tôi là tôi chỉ giới hạn ở một nguồn cấp dữ liệu riêng. Khi tôi thay đổi "nguồn gói" thành All, vấn đề của tôi đã được giải quyết. Tôi tin rằng mấu chốt của vấn đề là pkg riêng của tôi có sự phụ thuộc vào các pkg khác từ nuget.org.

Tôi hy vọng điều này có thể giúp ai đó


0

Trong trường hợp của tôi, không có gì ở trên giúp đỡ. Nguyên nhân cốt lõi của vấn đề trong trường hợp của tôi là do tôi đã gỡ cài đặt gói trước đó và không kiểm tra thay đổi thành kiểm soát nguồn (TFS trong trường hợp của tôi). Sau khi kiểm tra thay đổi (= xóa tệp trong thư mục gói), tôi có thể cài đặt lại gói.


0

Trong trường hợp của tôi, có một tập tin tests.config trống trong thư mục soultion, sau khi xóa điều này, cập nhật đã thành công

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.