Nexus第三章:使用Nexus搭建私有Nuget库-Windows篇
一、前言
Nuget是ASP .NET Gallery的一员,是免费、开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便、科学得多。其中nuget.org是最著名的Nuget公开库,但是企业内部开发的(业务)公共组件不可能都往公开库上传,所以,企业内部需要一个私有的Nuget仓库来支持。虽然微软有提供的Nuget Server,但Nuget Server用起来并不那么顺手,或者说感觉有点low。因此,本文将介绍Nexus搭建的Nuget仓库,希望能给大家多一个选择。
二、下载安装Nexus
具体操作请看这里
三、Nuget仓库说明
如上图所示,其实Nexus默认已经创建好了Nuget的仓库,并且是创建了3个不同类型的仓库:nuget-group,nuget-hosted,nuget.org-proxy
nuget.org-proxy
类型是proxy,表示代理仓库。我们向它请求包(package)的时候,如果本地有,它就从本地提供,如果本地没有,它会从nuget.org下载到本地,然后给我提供这个包。
nuget-hosted
类型是hosted,表示托管仓库。我们一般把自己开发的包上传到该仓库中。
nuget-group
类型是group,表示仓库组,它结合了nuget.org-proxy和nuget-hosted,能对外提供上述两者中的包。
我们可以使用以上默认的几个仓库来保存nuget包,当然也可以自己创建先的仓库来存放,如下图:
接下来我就以将包上传到默认的nuget-hosted为例。
四、上传nuget包
1、下载nuget命令行工具
到 官网 下载最新推荐的nuget.exe,将下载的exe文件复制到C:\Windows\System32目录,这样我们就可以直接使用nuget命令行了。
2、添加Nuget Realms
因为Nexus认证Nuget是通过Realms来认证,因此,要添加Nuget Realms。
3、获取仓库地址以及Nuget API Key
仓库地址在设置->选择仓库->复制地址,如下图:
获取Nuget API Key
输入登录密码即可,如下图:
4、上传Nuget包
这里默认大家已经准备好nuget包了,指令模板:nuget push {dll}.nupkg {apiKey} -source {http://customsource/}
其中:
{dll}.nupkg:nuget包所在的路径,可以是相对路径也可以是绝对路径
{apiKey} 和{http://customsource/}:这两个在上一步已经交大家怎么获取了
完整上传命令参考:nuget push E:\WorkPlace\vs2017\Test\ErikDll\ErikDll\bin\Release\ErikDll.1.0.0.nupkg eb0497e8-5519-3f22-8e9f-f2eae720feb5 -source http://192.168.132.137:8081/repository/nuget-hosted/
完成后我们可以在Nexus上看到我们上传的包:
五、在VS中使用Nuget包
1、 打开Visual Studio的Nuget管理器,进行设置
2、添加私有Nuget仓库地址
3、引用nuget包
解决方案右键->管理解决方案的nuget包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)