使用 BaGet 搭建 .NET 私有 NuGet 服务器并配置 VS 引用

何川
何川
发布时间:2026-10-16| 6人浏览过
原创

为解决类库发布到公共源的公开性风险,本文将指导如何使用 BaGet 这一开源工具,在本地或内网环境快速搭建私有的 NuGet 服务器。涵盖从下载配置 BaGet 服务到使用 Visual Studio 上传及调用私有程序包的全流程。

私有 NuGet 服务的准备

在公共网络中上传 .NET 程序包(.nupkg)意味着所有用户均可访问。对于企业内部门禁、核心算法或未公开的底层组件,将其存储在私有环境中更为安全。BaGet 是基于 GitHub 开源的轻量级 NuGet 和符号服务器,是官方 NuGet V3 协议的开源实现,相比传统的 NuGet.Server 功能更完善,且易于部署。

第一步:部署 BaGet 服务器环境

首先需确保运行环境已安装 .NET Core SDK。若未安装,请提前获取对应的 SDK 版本以支持 BaGet 的运行。

第1步:下载 BaGet 发行版

访问 BaGet 的官方 Release 页面,选择稳定的版本进行下载。通常推荐下载压缩格式的 Release 包:

  • 下载地址:https://github.com/loic-sharma/BaGet/releases
  • 文件示例:BaGet.zip

第2步:配置服务端参数

解压下载到的 BaGet.zip 至本地工作目录。找到根目录下的 appsettings.json 配置文件。根据实际业务需求进行必要修改:

  • API Keys:建议填入密钥以启用上传验证保护,避免被恶意上传垃圾包;测试阶段可暂时留空或不填。
  • 服务器地址:按官方文档规范调整默认监听设置。

第3步:启动服务进程

在该解压目录的命令行终端中,执行以下命令启动 Web 服务:

dotnet BaGet.dll

当看到输出日志提示服务正在运行时,表示启动成功:


此时,打开浏览器访问 http://localhost:5000,若能查看到 BaGet 提供的页面,即代表 NuGet 私有服务已经正常运行:

第二步:制作并推送私有程序包

下面以测试类库为例,演示如何创建一个 NuGet 包并将其推送到刚才搭建的私有服务器上。

第1步:生成 .nupkg 文件

在 Visual Studio 中创建一个用于测试的项目,如 “繁简体相互转换” 工具库。完成代码编写后,右键点击项目,在弹出的菜单中选择 “打包”:

打包完成后,会在项目的输出目录下生成对应的 .nupkg 文件。该文件的版本号可在项目属性的 “打包” 选项卡中预先配置:

第2步:确认推送命令

返回 BaGet 的 Web 页面,浏览其提供的说明信息,找到对应的 Push(推送)命令格式。它通常包含服务器的虚拟索引地址以及 API Key(如有):


回到生成 .nupkg 文件的文件夹位置,打开命令行窗口。执行带参数 -s 指向私有服务器地址的命令(注意替换为你的实际文件名):

dotnet nuget push -s http://localhost:5000/v3/index.json XiongZeUtils.1.0.3.nupkg

提醒:此处执行的命令行路径必须位于打包生成的 .nupkg 所在目录,而非之前启动 BaGet 的目录。


推送成功后,刷新浏览器上的 Packages 列表页即可查到刚才上传的包,表明私有发布操作已完成:

第三步:在 Visual Studio 中使用私有包

最后一步是在开发环境中引入该私有源。打开 Visual Studio (VS2019/VS2022),依次点击顶部菜单:
工具 → 选项 → NuGet 包管理器 → 程序包源。

点击“+”号添加一个新源,填写任意名称,并在“源”栏输入刚才的地址 http://localhost:5000/v3/index.json,保存设置:


之后打开包管理器控制台或管理解决方案 NuGet 包界面,查询时即可看到之前在私有源发布的程序包,实现了本地或团队内部的封闭引用:


以上就是使用 BaGet 搭建和运行 .NET 私有 NuGet 服务器的详细内容,更多关于在 Visual Studio 中配置和使用私有 NuGet 源的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。