ChatGPT解决这个技术问题 Extra ChatGPT

Install a Nuget package in Visual Studio Code

How can I install a Nuget Package in Visual Studio Code? I know in Visual Studio, we can do this through the Nuget Package Manager console, but how do I do it in VS Code?

Have you tried this extension: marketplace.visualstudio.com/… Alternatively you can download nuget from their website and use it from the console.
i would prefer console because the extension has no good reviews
The way i do it, is to use nuget.org, search, and just use the PackageReference (located with the other installment options). Works pretty good, and you get a good UI for the nuget it self.

J
Jeff Albrecht

From the command line or the Terminal windows in vs code editor dotnet add package Newtonsoft.Json

See this article by Scott Hanselman


Note that this will work only on the new csproj-based .Net Core SDK 1.0, but not on the old project.json-based preview versions.
That unfortunately does not support search or auto-complete. That is, you have to know the exact package name spelling.
You can go to nuget.org to search packages as you might otherwise do in Visual Studio, then use the command line to install the package you want.
s
sashoalm

Edit: From the comments below:

22 June 2019: "This extension is now unpublished from Marketplace. You can choose to uninstall it." 2¢. – ruffin Jun 22 '19 at 13:23

The provided link above points to ".Net Core Project Manager (Nuget)" - try: marketplace.visualstudio.com/… – samis Oct 3 '19 at 16:14

You can use the NuGet Package Manager extension.

After you've installed it, to add a package, press Ctrl+Shift+P, and type >nuget and press Enter:

https://i.stack.imgur.com/YzKBl.png

Type a part of your package's name as search string:

https://i.stack.imgur.com/W06UD.png

Choose the package:

https://i.stack.imgur.com/Oy5fl.png

And finally the package version (you probably want the newest one):

https://i.stack.imgur.com/c5KTQ.png


This extension appears to not support the new workspaces feature
This extension seems back on the marketplace, just installed it and works fine for me.
22 June 2019: "This extension is now unpublished from Marketplace. You can choose to uninstall it." 2¢.
The provided link above points to ".Net Core Project Manager (Nuget)" - try: marketplace.visualstudio.com/…
S
Scott Page

You can do it easily using "vscode-nuget-package-manager". Go to the marketplace and install this. After That

1) Press Ctrl+P or Ctrl+Shift+P (and skip 2)

2) Type ">"

3) Then select "Nuget Package Manager:Add Package"

4) Enter package name Ex: Dapper

5) select package name and version

6) Done.


M
Moses Machua

Nuget Gallery provides a GUI similar to the full Visual Studio. See below.

https://i.stack.imgur.com/S6Xsy.png

How To Use:

Install Nuget Gallery from extension marketplace. Launch from the menu bar View > Command Palette or ⇧⌘P (Ctrl+Shift+P on Windows and Linux). Type Nuget: Open Gallery. The GUI above is displayed. You can filter just like in regular Visual Studio. Make sure the .csproj file checkbox is selected, select version from dropdown, and click install button.

UPDATE

Earlier versions, as noted in the comments, had an issue where the .csproj checkbox was not visible when a package in the csproj file was missing a version number like below.

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

This has been fixed in newer versions of the extension so if you have an older version with this issue, please update it to the latest version.


Ahh, this is interesting. There is no .csproj file tick option in the current version. Maybe that's what my problem is. github.com/pcislo/vscode-nuget-gallery/issues/15
Hi @woter324, the problem of the checkbox not showing was identified as some packages in the .csproj not having version numbers. See issue comment. I've updated my answer to include that.
Thanks! That was just what I needed to be able to install the Microsoft.Windows.Compatibility package! This Nuget Gallery actually works with .NET Core 3.1.2! So now I can use OleDbConnection to open a connection to a MS Access Database, while using .NET Core for the other things in Visual Studio Code! Cool!
I have tested the latest version and it no longer has an issue with missing version numbers
What if you wanted to install the nuget package for a specific project if you have multiple projects in one solution? Would there be multiple csproj checkboxes?
E
Eugeniu Znagovan

Open extensions menu (Ctrl+Shift+X), and search .NuGet Package Manager.


Strange this manager cant find Microsoft.AspNetCore.Server.Kestrel. Below solution works.
Doesn't work any more since the migration to .csproj file format.
I can't see that extension when searching for it.
C
Chris Cavell

Example for .csproj file

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

Just get package name and version number from NuGet and add to .csproj then save. You will be prompted to run restore that will import new packages.


I'm sure this works but having to edit the XML manually seems a shame.
True, but VS Code is free (and really meant as an editor) so I'm not complaining. It would be different if I had to do this in VS.
Fair point. So are you editing C# projects entirely in VSCode without any version of Visual Studio installed? Or creating the project in Visual Studio (with sln + csproj files) and then just using VSCode as an editor? I'm guessing if you just use dotnet and VSCode then why would you even need those project files.
No, I actually utilize Visual Studio 2010 & 2015. Prefer 2010 though. All my real coding is also stored in Git repositories. VS Code is more to play around with on my Ubuntu system.
This is a problem with MS using XML for csproj files instead of something user friendly like yaml.
A
Ali.Asadi

nuget package manager gui extension is a GUI tool that lets you easily update/remove/install packages from Nuget server for .NET Core/.Net 5 projects

> To install new package:

Open your project workspace in VSCode Open the Command Palette (Ctrl+Shift+P) Select > Nuget Package Manager GUI Click Install New Package

https://i.stack.imgur.com/yATYn.png

For update/remove the packages click Update/Remove Packages

https://i.stack.imgur.com/B5QKD.png


That's plain beautiful
R
Ryan Efendy

Install NuGet Package Manager Ctrl+Shift+P on Windows or Command+Shift+P on Mac Search for NuGet Package Manager: Add Package Enter package name i.e. AutoMapper Select package & version Restore if needed


A
Avi Siboni

If you're working with .net core, you can use the dotnet CLI, for instance

dotnet add package <package name>

g
gool

The answers above are good, but insufficient if you have more than 1 project (.csproj) in the same folder.

First, you easily add the "PackageReference" tag to the .csproj file (either manually, by using the nuget package manager or by using the dotnet add package command).

But then, you need to run the "restore" command manually so you can tell it which project you are trying to restore (if I just clicked the restore button that popped up, nothing happened). You can do that by running:

dotnet restore Project-File-Name.csproj

And that installs the package


M
Mauricio Aviles

Modify your project.json or *.csproj file. Add a dependency entry with the name of the package and the version desired.

JSON example:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}

F
Felipe Augusto

Go to folder that have a sln file. Open a terminal (like cmd)

dotnet add package <package name>