Cài đặt gói Nuget trong Visual Studio Code


187

Làm cách nào tôi có thể cài đặt Gói Nuget trong Visual Studio Code? Tôi biết trong Visual Studio, chúng ta có thể thực hiện điều này thông qua bảng điều khiển Trình quản lý gói Nuget, nhưng làm cách nào để thực hiện điều đó trong VS Code?


Bạn đã thử tiện ích mở rộng này chưa: marketplace.visualstudio.com/ ( Ngoài ra, bạn có thể tải xuống nuget từ trang web của họ và sử dụng nó từ bảng điều khiển.
JNK

Tôi thích giao diện điều khiển hơn vì tiện ích mở rộng không có đánh giá tốt
Gyan Parkash

Cách tôi làm là sử dụng nuget.org, tìm kiếm và chỉ sử dụng GóiReference (nằm cùng với các tùy chọn trả góp khác). Hoạt động khá tốt, và bạn có được một giao diện người dùng tốt cho chính nó.
mslot

Câu trả lời:


221

Từ dòng lệnh hoặc cửa sổ Terminal trong trình soạn thảo mã dotnet add package Newtonsoft.Json

Xem bài viết này của Scott Hanselman


2
Lưu ý rằng điều này sẽ chỉ hoạt động trên .Net Core SDK 1.0 dựa trên csproj mới, nhưng không hoạt động trên các phiên bản xem trước dựa trên dự án cũ.
Svick

2
Thật không may, không hỗ trợ tìm kiếm hoặc tự động hoàn thành. Đó là, bạn phải biết chính tả tên gói chính xác.
Andrew Savinykh

4
Bạn có thể truy cập nuget.org để tìm kiếm các gói như bạn có thể làm trong Visual Studio, sau đó sử dụng dòng lệnh để cài đặt gói bạn muốn.
MikeBeaton

76

Bạn có thể sử dụng tiện ích mở rộng Trình quản lý gói NuGet .

Sau khi bạn đã cài đặt nó, để thêm gói, nhấn Ctrl + Shift + P, và nhập >nugetvà nhấn Enter:

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

Nhập một phần tên gói của bạn dưới dạng chuỗi tìm kiếm:

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

Chọn gói:

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

Và cuối cùng là phiên bản gói (bạn có thể muốn phiên bản mới nhất):

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


2
Tiện ích mở rộng này dường như không hỗ trợ tính năng không gian làm việc mới
Chris Alexander

1
Tiện ích mở rộng này dường như trở lại trên thị trường, chỉ cần cài đặt nó và hoạt động tốt với tôi.
Tham khảo Null

3
Ngày 22 tháng 6 năm 2019: " Tiện ích mở rộng này hiện chưa được công bố từ Marketplace. Bạn có thể chọn gỡ cài đặt nó. " 2.
ruffin

Liên kết được cung cấp ở trên chỉ đến ".Net Core Project Manager (Nuget)" - thử: marketplace.visualstudio.com/ từ
samis

28

Bạn có thể làm điều đó một cách dễ dàng bằng cách sử dụng "vscode-nuget-pack-manager". Đi đến thị trường và cài đặt này. Sau đó

1) Nhấn Ctrl + P hoặc Ctrl + Shift + P (và bỏ qua 2)

2) Nhập ">"

3) Sau đó chọn "Trình quản lý gói Nuget: Thêm gói"

4) Nhập tên gói Ex: Dapper

5) chọn tên gói và phiên bản

6) Xong.


24

Mở menu tiện ích mở rộng (Ctrl + Shift + X) và tìm kiếm .NuGet Gói Manager.


Lạ người quản lý này không thể tìm thấy Microsoft.AspNetCore.Server.Kestrel. Giải pháp dưới đây hoạt động.
Aleksey Kontsevich

Không hoạt động nữa kể từ khi di chuyển sang định dạng tệp .csproj.
Per Lundberg

Tôi không thể thấy phần mở rộng đó khi tìm kiếm nó.
Davos

13

Ví dụ cho tệp .csproj

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="7.0.7-m61" />
  </ItemGroup>

Chỉ cần lấy tên gói và số phiên bản từ NuGet và thêm vào .csproj sau đó lưu lại. Bạn sẽ được nhắc chạy khôi phục sẽ nhập các gói mới.


9
Tôi chắc chắn điều này hoạt động nhưng việc chỉnh sửa XML bằng tay có vẻ đáng xấu hổ.
Davos

1
Đúng, nhưng Mã VS là miễn phí (và thực sự có nghĩa là một biên tập viên) nên tôi không phàn nàn. Sẽ khác nếu tôi phải làm điều này trong VS.
Chris Cavell

1
Điểm công bằng. Vậy bạn có đang chỉnh sửa các dự án C # hoàn toàn trong VSCode mà không cài đặt phiên bản Visual Studio nào không? Hoặc tạo dự án trong Visual Studio (với các tệp sln + csproj) và sau đó chỉ sử dụng VSCode làm trình chỉnh sửa? Tôi đoán nếu bạn chỉ sử dụng dotnetvà VSCode thì tại sao bạn thậm chí sẽ cần các tệp dự án đó.
Davos

1
Không, tôi thực sự sử dụng Visual Studio 2010 & 2015. Prefer 2010 mặc dù. Tất cả mã hóa thực sự của tôi cũng được lưu trữ trong kho Git. Mã VS có nhiều thứ để chơi hơn trên hệ thống Ubuntu của tôi.
Chris Cavell

6
  1. Cài đặt Trình quản lý gói NuGet
  2. Ctrl+Shift+Ptrên Windows hoặc Command+Shift+Ptrên Mac
  3. Tìm kiếm Trình quản lý gói NuGet: Thêm gói
  4. Nhập tên gói tức là AutoMapper
  5. Chọn gói & phiên bản
  6. Khôi phục nếu cần

5

Nuget Gallerycung cấp một GUI tương tự như Visual Studio đầy đủ. Xem bên dưới.

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

Cách sử dụng:

  1. Cài đặt Nuget Gallerytừ thị trường mở rộng.
  2. Khởi chạy từ thanh menu View > Command Palettehoặc ⇧⌘P (Ctrl + Shift + P trên Windows và Linux). Loại Nuget: Open Gallery.
  3. GUI ở trên được hiển thị. Bạn có thể lọc giống như trong Visual Studio thông thường.
  4. Đảm bảo .csproj filehộp kiểm được chọn, chọn phiên bản từ danh sách thả xuống và nhấp vào nút cài đặt.

CẬP NHẬT

Các phiên bản trước đó, như đã lưu ý trong các nhận xét, có một vấn đề trong đó .csprojhộp kiểm không hiển thị khi một gói trong tệp csproj bị thiếu số phiên bản như bên dưới.

<PackageReference Include="Microsoft.AspNetCore.App" />

Điều này đã được sửa trong các phiên bản mới hơn của tiện ích mở rộng, vì vậy nếu bạn có phiên bản cũ hơn với sự cố này, vui lòng cập nhật lên phiên bản mới nhất.


Ahh, điều này thật thú vị. Không có .csprojtùy chọn đánh dấu tập tin trong phiên bản hiện tại. Có lẽ đó là vấn đề của tôi. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324 ngày

Xin chào @ woter324, sự cố của hộp kiểm không hiển thị được xác định là một số gói trong số .csprojkhông có số phiên bản. Xem bình luận vấn đề . Tôi đã cập nhật câu trả lời của mình để bao gồm điều đó.
Moses Machua

Cảm ơn! Đó chỉ là những gì tôi cần để có thể cài đặt gói Microsoft.Windows.Compabilities! Thư viện Nuget này thực sự hoạt động với .NET Core 3.1.2! Vì vậy, bây giờ tôi có thể sử dụng OleDbConnection để mở kết nối tới Cơ sở dữ liệu MS Access, trong khi sử dụng .NET Core cho những thứ khác trong Visual Studio Code! Mát mẻ!
John Foll

Tôi đã thử nghiệm phiên bản mới nhất và nó không còn gặp vấn đề với số phiên bản bị thiếu
Moses Machua

1

Sửa đổi tệp project.json hoặc * .csproj của bạn. Thêm một mục phụ thuộc với tên của gói và phiên bản mong muốn.

Ví dụ JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}

1

Các câu trả lời ở trên là tốt, nhưng không đủ nếu bạn có nhiều hơn 1 dự án (.csproj) trong cùng một thư mục.

Trước tiên, bạn dễ dàng thêm thẻ "PackageReference" vào tệp .csproj (bằng tay, bằng cách sử dụng trình quản lý gói nuget hoặc bằng cách sử dụng lệnh thêm gói dotnet).

Nhưng sau đó, bạn cần chạy lệnh "khôi phục" theo cách thủ công để bạn có thể cho biết đó là dự án nào bạn đang cố khôi phục (nếu tôi chỉ cần nhấp vào nút khôi phục bật lên, không có gì xảy ra). Bạn có thể làm điều đó bằng cách chạy:

dotnet restore Project-File-Name.csproj

Và cài đặt gói

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.