【问题标题】:Install a Nuget package in Visual Studio Code在 Visual Studio Code 中安装 Nuget 包
【发布时间】:2017-04-02 04:35:34
【问题描述】:

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

【问题讨论】:

  • 你试过这个扩展吗:marketplace.visualstudio.com/… 或者你可以从他们的网站下载 nuget 并从控制台使用它。
  • 我更喜欢控制台,因为该扩展程序没有好评
  • 我这样做的方式是使用 nuget.org,搜索,然后只使用 PackageReference(位于其他分期付款选项中)。效果很好,并且您会为 nuget it self 获得一个很好的 UI。

标签: visual-studio-code nuget-package


【解决方案1】:

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

看到这个article by Scott Hanselman

【讨论】:

  • 请注意,这仅适用于基于 csproj 的新 .Net Core SDK 1.0,但不适用于基于 project.json 的旧预览版本。
  • 不幸的是,它不支持搜索或自动完成。也就是说,你必须知道确切的包名拼写。
  • 你可以像在 Visual Studio 中那样去nuget.org 搜索包,然后使用命令行安装你想要的包。
【解决方案2】:

编辑:来自下面的 cmets:

2019 年 6 月 22 日:“此扩展程序现已从 Marketplace 中取消发布。您可以选择将其卸载。” 2美分。 – 鲁芬 2019 年 6 月 22 日 13:23

上面提供的链接指向“.Net Core Project Manager (Nuget)” - 尝试:marketplace.visualstudio.com/… – samis 2019 年 10 月 3 日 16:14


您可以使用NuGet Package Manager 扩展名。

安装完成后,要添加包,按Ctrl+Shift+P,输入>nuget,回车:

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

选择包装:

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

【讨论】:

  • 此扩展似乎不支持新的工作区功能
  • 这个扩展似乎又回到了市场,刚刚安装它,对我来说很好用。
  • 2019 年 6 月 22 日:“此扩展程序现已从 Marketplace 中取消发布。您可以选择卸载它。”2¢。
  • 上面提供的链接指向 ".Net Core Project Manager (Nuget)" - 试试:marketplace.visualstudio.com/…
【解决方案3】:

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

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

2) 输入“>”

3) 然后选择“Nuget Package Manager:Add Package”

4) 输入包名 Ex: Dapper

5) 选择包名和版本

6) 完成。

【讨论】:

    【解决方案4】:

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

    【讨论】:

    • 奇怪的是这个经理找不到 Microsoft.AspNetCore.Server.Kestrel。以下解决方案有效。
    • 自从迁移到 .csproj 文件格式后不再起作用。
    • 搜索时看不到该扩展名。
    【解决方案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 复选框,从下拉列表中选择版本,然后单击安装按钮。

    更新

    如 cmets 中所述,早期版本存在以下问题:当 csproj 文件中的包为 missing a version number 时,.csproj 复选框不可见,如下所示。

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

    此问题已在较新版本的扩展程序中得到修复,因此如果您的旧版本存在此问题,请将其更新到最新版本。

    【讨论】:

    • 啊,这很有趣。当前版本没有.csproj文件勾选选项。也许这就是我的问题所在。 github.com/pcislo/vscode-nuget-gallery/issues/15
    • 嗨@woter324,未显示复选框的问题被确定为.csproj 中的某些包没有版本号。见issue comment。我已经更新了我的答案以包含它。
    • 谢谢!这正是我安装 Microsoft.Windows.Compatibility 包所需要的! 这个 Nuget Gallery 实际上适用于 .NET Core 3.1.2!所以现在我可以使用 OleDbConnection 打开与 MS Access 数据库的连接,同时使用 .NET Core 处理 Visual Studio Code 中的其他内容!酷!
    • 我已经测试了最新版本,它不再有缺少版本号的问题
    【解决方案6】:

    .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 然后保存。系统将提示您运行将导入新包的还原。

    【讨论】:

    • 我确信这可行,但必须手动编辑 XML 似乎很可惜。
    • 没错,但是 VS Code 是免费的(并且真的意味着作为一个编辑器)所以我没有抱怨。如果我必须在 VS 中这样做会有所不同。
    • 公平点。那么,您是否在没有安装任何版本的 Visual Studio 的情况下完全在 VSCode 中编辑 C# 项目?或者在 Visual Studio 中创建项目(使用 sln + csproj 文件),然后只使用 VSCode 作为编辑器?我猜如果您只使用dotnet 和 VSCode,那么您为什么还需要这些项目文件。
    • 不,我实际上使用 Visual Studio 2010 和 2015。不过更喜欢 2010。我所有的真实编码也都存储在 Git 存储库中。 VS Code 更适合在我的 Ubuntu 系统上使用。
    • 这是 MS 使用 XML 处理 csproj 文件而不是像 yaml 这样用户友好的东西的问题。
    【解决方案7】:
    1. 安装NuGet Package Manager
    2. Ctrl+Shift+P 在 Windows 上或 Command+Shift+P 在 Mac 上
    3. 搜索 NuGet 包管理器:添加包
    4. 输入包名,即 AutoMapper
    5. 选择包和版本
    6. 根据需要恢复

    【讨论】:

      【解决方案8】:

      nuget package manager gui 扩展是一个 GUI 工具,可让您轻松地从 Nuget 服务器更新/删除/安装 .NET Core/.Net 5 项目的包

      > 安装新包:

      1. 在 VSCode 中打开您的项目工作区
      2. 打开命令面板 (Ctrl+Shift+P)
      3. 选择 > Nuget 包管理器 GUI
      4. 点击安装新包

      要更新/删除软件包,请单击更新/删除软件包

      【讨论】:

      • 这简直太美了
      【解决方案9】:

      如果您正在使用 .net 核心,则可以使用 dotnet CLI,例如

      dotnet add package <package name>
      

      【讨论】:

        【解决方案10】:

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

        JSON 示例:

        {
           "dependencies" : {
        
             "AutoMapper": "5.2.0"
           }
        }
        

        【讨论】:

          【解决方案11】:

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

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

          但是,您需要手动运行“恢复”命令,以便告诉它您正在尝试恢复哪个项目(如果我只是单击弹出的恢复按钮,则没有任何反应)。 你可以通过运行来做到这一点:

          dotnet restore Project-File-Name.csproj
          

          然后安装包

          【讨论】:

            【解决方案12】:

            转到有 sln 文件的文件夹。 打开终端(如 cmd)

            dotnet add package <package name>
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-07-23
              • 1970-01-01
              • 1970-01-01
              • 2016-10-25
              • 1970-01-01
              相关资源
              最近更新 更多