新闻中心

.NET怎么创建一个NuGet包并发布

2025-11-03
浏览次数:
返回列表
创建类库项目并完善csproj元数据,2. 用dotnet pack生成nupkg文件,3. 在nuget.org注册账号并创建API Key,4. 使用dotnet nuget push命令发布包,5. 更新版本号后可重复打包发布,注意保护API Key安全。

.net怎么创建一个nuget包并发布

创建和发布一个 .NET 的 NuGet 包其实并不复杂,只要按步骤操作即可。下面从项目准备到发布全过程说明。

1. 准备一个类库项目

要打包的内容通常是一个类库(Class Library)。使用 .NET CLI 或 Visual Studio 创建项目:

dotnet new classlib -n MyLibrary

进入项目目录后,确保项目文件(.csproj)包含必要的元数据,这些信息会显示在 NuGet 上:

编辑 MyLibrary.csproj 文件,加入以下属性:


  net6.0
  MyCompany.MyLibrary
  1.0.0
  YourName
  MyCompany
  MyLibrary
  A sample library for demonstration.
  © MyCompany 2025
  sample;demo;utility
  https://github.com/yourname/MyLibrary
  https://github.com/yourname/MyLibrary
  git
  MIT

这些字段会影响 NuGet 包的展示效果,建议填写完整。

2. 构建并生成 NuGet 包

在项目根目录运行以下命令生成包:

dotnet pack -c Release

成功后会在 bin/Release 目录下生成一个 .nupkg 文件,例如:MyCompany.MyLibrary.1.0.0.nupkg

3. 注册 NuGet 账号并获取 API Key

前往 nuget.org 注册账号。

登录后点击右上角用户名 → API Keys → Create API Key。

GForge5.7.1 GForge5.7.1

GForge是一个基于Web的协同开发平台。它提供一组帮助你的团队进行协同开发的工具,如论坛,邮件列表等。用于创建和控制访问源代码管理库(如CVS,Subversion)的工具。GForge将自动创建一个源代码库并依据项目的角色设置进行访问控制。其它工具还包括:管理文件发布,文档管理,新闻公告,缺陷跟踪,任务管理等。

GForge5.7.1 1 查看详情 GForge5.7.1
  • Name:比如 "Publish MyLibrary"
  • Select Definition:选 "Push new packages"
  • Include package: 可以填具体的包 ID(如 MyCompany.*)或留空表示所有包

创建后复制生成的 Key(只显示一次,务必保存好)。

4. 发布包到 NuGet

使用 dotnet nuget push 命令推送包:

dotnet nuget push bin/Release/MyCompany.MyLibrary.1.0.0.nupkg
--api-key YOUR_API_KEY_HERE
--source https://api.nuget.org/v3/index.json

如果成功,你会看到类似 "Your package was pushed." 的提示。

稍等几分钟后,就可以在 nuget.org 搜索到你的包了。

5. 后续更新版本

修改 Version 字段(如改为 1.0.1),重新执行 dotnet packpush 即可发布新版本。

建议配合 Git 标签管理版本,保持一致性。

基本上就这些。只要项目配置正确,发布过程只需几条命令。注意保护好 API Key,不要提交到代码仓库。可以用 NuGet.Config 文件管理凭证,提升安全性。

以上就是.NET怎么创建一个NuGet包并发布的详细内容,更多请关注其它相关文章!


# 序列化  # 哈尔滨公司网站排名推广  # 电气专业关键词排名  # h游戏seo综合  # 长宁区网站优化定制方案  # 庐阳教育网站建设  # 网站优化瓦罗兰  # 想学网站建设专业怎么选  # 泊头新型网站建设项目  # 百度长尾关键词排名 s  # 在加强营销活动推广力度  # 如何在  # 你会  # js  # 布包  # 操作指南  # 源代码  # 如何将  # 类库  # 是一个  # 创建一个  # .net  # ssl  # github  # json  # git 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: poki免费入口快捷访问 poki人气小游戏直接玩站点  Mac怎么锁定备忘录_Mac备忘录加密设置教程  Go语言中高效处理x-www-form-urlencoded表单数据  Steam官网入口直达 Steam注册及登录步骤  顺丰快件物流信息 官方网站查询入口  Promise错误处理:在catch后终止链式then执行的策略  高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法  Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程  格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施  python3时间如何用calendar输出?  TikTok国际版官网直达_TikTok国际版官网直达进入在线观看  Tailwind CSS line-clamp 布局问题解析与修复指南  现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践  迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法  sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置  在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析  中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】  使用J*aScript检测输入元素是否包含在特定类中  Kafka Streams中基于消息头条件过滤消息的实现指南  Python异步编程实践:使用Binance API构建实时交易数据流  Win11怎么开启省电模式_Win11电池节电模式自动开启  CSS布局中意外空白:解决padding-top导致的顶部间距问题  html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】  抖音网页版怎么|直播|_抖音网页版开播操作指南  Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  C++ map遍历方法大全_C++ map迭代器使用总结  怎么在mac上运行html代码_mac运行html代码方法【指南】  C++如何连接MySQL数据库_C++使用Connector/C++操作MySQL数据库教程  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  知音漫客官网漫画下载_知音漫客网页版阅读记录  QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道  vivo云服务网页版登录 怎么登录vivo云服务网页版  c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析  微博网页版主页入口 微博官方网站免登录访问  C++指针和引用有什么区别_C++内存管理核心概念深度解析  qq邮箱发邮件给国外发不出去_QQ邮箱国际邮件发送失败原因与解决  解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常  React项目中导航栏Logo自适应布局:避免裁剪与布局溢出  如何更改在 Excel 中打开超链接时的默认浏览器  J*aScript中针对特定容器内图片动画的实现教程  MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复  谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  星露谷物语官网入口 星露谷物语游戏官网入口  苹果手机如何防止被恶意App追踪  腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址  Python类型检查:优化关联可选属性的Mypy推断策略 

搜索