在Visual Studio Code中安装Nuget程序包


188

如何在Visual Studio Code中安装Nuget软件包?我知道在Visual Studio中,我们可以通过Nuget软件包管理器控制台执行此操作,但是如何在VS Code中执行此操作?


您是否尝试过该扩展程序:marketplace.visualstudio.com/…或者,您可以从其网站下载nuget并从控制台使用它。
JNK

我喜欢控制台,因为扩展名没有很好的评价
Gyan Parkash

我这样做的方法是使用nuget.org,进行搜索,然后仅使用PackageReference(位于其他分期付款选项中)。效果非常好,并且可以为自己的nuget提供良好的UI。
mslot

Answers:


222

从命令行或vs代码编辑器中的“终端”窗口 dotnet add package Newtonsoft.Json

参见Scott Hanselman的这篇文章


2
请注意,这仅在新的基于csproj的.Net Core SDK 1.0上有效,而在旧的基于project.json的预览版上无效。
2013年

2
不幸的是,那不支持搜索或自动完成。也就是说,您必须知道确切的软件包名称拼写。
安德鲁·萨维尼赫

4
您可以像在Visual Studio中一样访问nuget.org来搜索软件包,然后使用命令行来安装所需的软件包。
MikeBeaton '17年

76

您可以使用NuGet软件包管理器扩展。

安装后,要添加软件包,请按Ctrl + Shift + P,然后键入>nuget并按Enter:

在此处输入图片说明

输入您的包裹名称的一部分作为搜索字符串:

在此处输入图片说明

选择包装:

在此处输入图片说明

最后是软件包版本(您可能需要最新的版本):

在此处输入图片说明


2
此扩展名似乎不支持新的工作区功能
Chris Alexander

1
该扩展程序似乎又回到了市场,仅安装了它,对我来说效果很好。
空引用

3
2019年6月22日:“ 此扩展程序现在尚未从市场上发布。您可以选择卸载它。 ” 2¢。
鲁芬

上面提供的链接指向“ .Net Core Project Manager(Nuget)” -尝试:marketplace.visualstudio.com/…–
samis

28

您可以使用“ vscode-nuget-package-manager”轻松完成此操作。去市场并安装它。之后

1)按Ctrl + P或Ctrl + Shift + P(并跳过2)

2)输入“>”

3)然后选择“ Nuget软件包管理器:添加软件包”

4)输入包裹名称,例如:Dapper

5)选择软件包名称和版本

6)完成。


24

打开扩展菜单(Ctrl + Shift + X),然后搜索.NuGet程序包管理器。


奇怪的是,此管理器找不到Microsoft.AspNetCore.Server.Kestrel。以下解决方案有效。
Aleksey Kontsevich

自从迁移到.csproj文件格式后,它不再起作用。
Per Lundberg

搜索时看不到该扩展名。
达沃斯

13

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

只需从NuGet获取软件包名称和版本号,然后将其添加到.csproj,然后保存即可。系统将提示您运行将导入新软件包的还原。


9
我敢肯定这是可行的,但是不得不手动编辑XML似乎是一种遗憾。
达沃斯

1
是的,但是VS Code是免费的(并且实际上是作为编辑器使用的),所以我没有抱怨。如果我必须在VS中执行此操作,则将有所不同。
克里斯·卡维尔

1
有道理。那么,是否在未安装任何版本的Visual Studio的情况下完全在VSCode中编辑C#项目?还是在Visual Studio中创建项目(带有sln + csproj文件),然后仅使用VSCode作为编辑器?我猜如果您只使用dotnetVSCode,那为什么还要使用这些项目文件。
达沃斯

1
不,我实际上使用的是Visual Studio 2010和2015。尽管更喜欢2010。我所有的实际编码也都存储在Git存储库中。VS Code在我的Ubuntu系统上可以玩的更多。
克里斯·卡维尔


5

Nuget Gallery提供类似于完整Visual Studio的GUI。见下文。

在此处输入图片说明

如何使用:

  1. Nuget Gallery从扩展市场安装。
  2. 从菜单栏View > Command Palette或⇧⌘P(在Windows和Linux中为Ctrl + Shift + P)启动。输入Nuget: Open Gallery
  3. 显示上面的GUI。您可以像在常规Visual Studio中一样进行过滤。
  4. 确保.csproj file选中该复选框,从下拉列表中选择版本,然后单击安装按钮。

更新

如评论中所述,较早的版本存在一个问题,.csproj当csproj文件中的软件包缺少以下版本号时,该复选框不可见。

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

扩展的较新版本已修复此问题,因此,如果您有较旧的版本存在此问题,请将其更新为最新版本。


啊,这很有趣。.csproj当前版本中没有文件打勾选项。也许那就是我的问题。github.com/pcislo/vscode-nuget-gallery/issues/15
woter324

@ woter324,您好,该复选框未显示的问题被标识为某些.csproj没有版本号的软件包。请参阅问题评论。我已经更新了我的答案以包括该内容。
摩西·麦克华

谢谢!这正是我能够安装Microsoft.Windows.Compatibility软件包所需要的!该Nuget Gallery实际上与.NET Core 3.1.2兼容!因此,现在我可以使用OleDbConnection打开与MS Access数据库的连接,而将.NET Core用于Visual Studio Code中的其他功能!凉!
John Foll

我已经测试了最新版本,并且不再缺少版本号的问题
Moses Machua

1

修改您的project.json或* .csproj文件。添加具有软件包名称和所需版本的依赖项。

JSON示例:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}

1

上面的答案是好的,但是如果您在同一文件夹中有多个项目(.csproj),则答案是不够的。

首先,您可以轻松地将“ PackageReference”标签添加到.csproj文件中(通过使用nuget软件包管理器或使用dotnet add package命令手动进行)。

但是然后,您需要手动运行“ restore”命令,以便可以告诉它您要还原哪个项目(如果我只是单击弹出的还原按钮,则什么也没有发生)。您可以通过运行以下命令进行操作:

dotnet restore Project-File-Name.csproj

然后安装软件包

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.