使用 NuGet Package Manager在 Visual Studio 中安装和管理包

news2026/5/14 23:32:16
可以使用 Microsoft Visual Studio 中的 NuGet Package Manager UI 在项目和解决方案中轻松安装、卸载和更新 NuGet 包。先决条件Visual Studio 2026其中包含任何与.NET相关的工作负荷。 可以从 visualstudio.microsoft.com 免费安装 2026 Community 版本也可以使用专业版或企业版。NuGet Package Manager。 安装与.NET相关的工作负荷时Visual Studio 2017 及更高版本会自动包含 NuGet Package Manager。 若要在 Visual Studio Installer 中手动安装 NuGet Package Manager请选择Individual 组件Code 工具NuGet package manager。查找并安装包若要使用 Visual Studio 查找并安装 NuGet 包请执行以下步骤在Solution Explorer中加载项目然后选择项目管理 NuGet 包。NuGet Package Manager窗口随即打开。转到“浏览”选项卡按当前所选源的受欢迎程度显示包。 有关源的信息请参阅 包源。若要搜索特定包请使用选项卡左上角的搜索框。每个包 ID 旁边可能会显示缩写信息以帮助识别正确的包。 此信息因所选包源而异。 示例包括包下载次数、作者或到所有者配置文件的链接。注意在 Visual Studio 17.11 及更高版本中当所选包源支持时包作者显示为个人资料链接。 包所有权由包源定义。 有关详细信息请参阅 管理 nuget.org 上的包所有者。在 Visual Studio 17.10 及更早版本中将显示包author元数据显示为纯文本。 有关详细信息请参阅 作者包元数据。选择包以打开其详细信息窗格。 在详细信息窗格中“包详细信息”选项卡显示包元数据、有关所有者、作者和许可证的信息以及其他信息。 详细信息窗格还提供了一种方法用于选择要安装的版本。详细信息窗格的README选项卡会显示软件包的自述文件如果由包作者提供。在“详细信息”窗格中的“版本”旁边选择一个版本。 如果要在Version列表中包括预发行版版本请转到NuGet Package Manager窗口顶部。 在搜索框旁边选择“包括预发行版”。若要安装 NuGet 包请选择安装。 系统可能会提示你接受许可条款或验证安装。Visual Studio在项目中安装包及其依赖项。 安装完成后添加的包将显示在 NuGet Package ManagerInstalled选项卡上。还可以在项目的Dependencies 节点中找到包Solution Explorer。 安装包后可以使用using语句在项目中引用它。设置包管理格式NuGet 有两种格式项目可以使用这些包PackageReferencepackages.config只有某些类型的项目支持这两种包管理格式。 具体而言具有.csproj文件格式的非 SDK 样式.NET框架项目支持这两种格式。 对于.NET SDK 样式项目需要PackageReference。建议的格式为PackageReference。 但某些 NuGet 包不完全兼容PackageReference。 有关详细信息请参阅 包兼容性问题。有关包管理格式的详细信息请参阅从 packages.config 到 PackageReference 和 项目类型支持。若要设置默认格式请执行以下步骤在 Visual Studio 中选择ToolsOptions。在侧窗格中选择NuGet Package Manager然后选择General。在主窗口中的“包管理”下选择默认包管理格式列表中的格式。有关配置此设置的详细信息请参阅 “选择默认包管理格式”。卸载软件包若要卸载 NuGet 包请执行以下步骤在Solution Explorer中加载project选择ProjectManage NuGet 包然后转到Installed选项卡。在主窗格中选择要卸载的包。 如果需要请使用搜索框查找包。 然后在包详细信息窗格中选择“卸载”。更新一个包若要更新 NuGet 包请执行以下步骤在Solution Explorer中加载项目然后选择项目管理 NuGet 包。 对于通过bin文件夹管理依赖项的旧 ASP.NET 网站项目请转到Solution Explorer并在打开 NuGet Package Manager UI 之前选择bin文件夹。选择“更新”选项卡列出从包源旁选择的源中具有可用更新的包。 若要在更新列表中包括预发行版包请转到NuGet Package Manager窗口顶部。 在搜索框旁边选择“包括预发行版”。选择要更新的包。 在详细信息窗格中在“版本”旁边选择所需的版本然后选择“更新”。更新隐式引用的包对于某些包“更新”按钮不可用并显示以下消息“SDK 隐式引用。 若要更新包请更新其所属的 SDK。此消息指示包是较大框架或 SDK 的一部分无法独立更新。 例如当 SDK 样式项目面向 .NET Framework 时会自动添加Microsoft.NETFramework.ReferenceAssemblies。此类包在内部标记为IsImplicitlyDefinedTrue/IsImplicitlyDefined。 这些包使用 SDK 或运行时进行版本控制必须通过安装较新的 .NET SDK而不是使用 NuGet Package Manager进行更新。若要下载新版本的框架请参阅 Download .NET。 有关详细信息请参阅 .NET 应用程序发布概述。更新多个软件包若要将多个包更新到其最新版本请在 NuGet 包列表中选择这些包然后选择“更新”。从“安装”选项卡中进行更新还可以从“已安装”选项卡更新单个包。在这种情况下还可以选择版本和Include 预发行版选项。管理解决方案的软件包管理解决方案的包是同时处理多个项目的便捷方式。在Solution Manager 中选择解决方案 然后选择ToolsNuGet Package ManagerManage NuGet Packages for Solution。在“解决方案的管理包”窗口中选择要向其应用操作的项目。合并选项卡开发人员通常认为在同一解决方案中跨不同项目使用不同的 NuGet 包版本是错误的。 您可以使用“管理解决方案的包”窗口来为您的 NuGet 包使用通用版本。 为此请转到“合并”选项卡发现解决方案中不同项目使用具有不同版本号的包的位置。在此示例中MyClassLibrary 项目使用EntityFramework6.5.1但 MyConsoleApp 使用EntityFramework6.5.0。 若要合并包版本请执行以下步骤在“合并”选项卡上选择要在项目列表中更新的项目。在“版本”旁边选择要用于所有选定项目的版本。选择安装。NuGet Package Manager在所有选定项目中安装所选包版本并且包不再显示在Consolidate选项卡上。软件包源Visual Studio忽略包源的顺序。 而是使用最先响应请求的源包。 有关详细信息请参阅 还原包。 有关如何从特定源加载包的信息请参阅 包源映射。若要更改 Visual Studio 从中加载包元数据的源请转到NuGet 包管理器窗口或为解决方案管理包窗口的顶部。 在包源旁边选择要使用的源。若要管理包源请选择“设置”图标或选择“工具选项”。若要管理 NuGet 包源请参阅 Visual Studio 中的 NuGet Package Manager 选项。NuGet 包管理器选项控制选择包时NuGet Package Manager在详细信息窗格中显示可展开的Options控件位于Version列表下方。 对于大多数项目类型仅提供“显示预览”窗口复选框。 但对于某些项目类型其他选项也可用。NuGet 包管理器的包详细信息窗格中选项控件的屏幕截图显示用于安装、更新和卸载的选项。以下部分介绍了可用选项。安装和更新选项这些选项仅适用于某些项目类型依赖项行为此选项指定 NuGet 安装的依赖包的版本。 它具有以下设置忽略依赖项会跳过依赖项的安装这通常会中断所安装的包。最低安装具有满足主所选包要求的最小版本号的依赖项。 此设置是默认设置。最高补丁安装与所选版本相同的主版本号和次版本号的版本但补丁编号最高。 例如如果指定了版本 1.2.2则安装以 1.2 开头的最高版本。次高版本安装与所选版本相同主版本号的版本但具有最高次要版本号和补丁号。 如果指定了版本 1.2.2则安装以 1 开头的最高版本。最高版本安装最高可用版本的软件包。文件冲突操作此选项指定 NuGet 如何处理项目或本地计算机中已存在的包。 它具有以下设置提示指示 NuGet 询问是保留还是覆盖现有包。忽略所有指示 NuGet 跳过覆盖任何现有包。覆盖所有指示 NuGet 覆盖任何现有包。卸载选项这些选项仅适用于某些项目类型删除依赖项选择此选项后如果未在项目中其他位置引用依赖包则删除任何依赖包。强制卸载即使存在依赖项选择此选项时即使包在项目中被引用也会卸载包。 此选项通常与“删除依赖项”结合使用以删除包及其安装的依赖项。 但使用此选项可能会导致项目中的引用中断。 在这种情况下可能需要 重新安装这些其他包。相关视频有关使用 NuGet 进行包管理的视频请参阅 第 9 频道 和 YouTube。相关内容有关 NuGet 的详细信息请参阅以下文章NuGet 简介包使用工作流为你的项目查找和评估 NuGet 包PackageReference 项目文件中快速入门通过 dotnet CLI 安装和使用包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2582609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…