新闻中心
C# 怎么创建和使用 NuGet 包_C# NuGet 包创建与使用教程
创建类库项目并编写代码;2. 在.csproj中配置包信息,如PackageId、Version等;3. 生成项目以创建.nupkg文件;4. 将包发布到本地或nuget.org;5. 在其他项目中通过NuGet源安装并使用包。

创建和使用 C# 的 NuGet 包是开发中常见的需求,尤其在团队协作或复用代码时非常有用。下面详细介绍如何从零开始创建一个 NuGet 包,并在其他项目中引用它。
1. 创建要打包的类库项目
首先需要一个 .NET 类库项目,它是 NuGet 包的内容来源。
- 打开 Visual Studio,选择“创建新项目”
- 模板选择“类库 (.NET Standard 或 .NET Core/.NET 6+ 推荐)”
- 命名项目,例如 MyLibrary
- 编写你要公开的类和方法
示例代码:
namespace MyLibrary
{
public class Calculator
{
public int Add(int a, int b) => a + b;
}
}2. 配置项目以支持生成 NuGet 包
NuGet 包信息可以直接写在 .csproj 文件中,无需单独的 .nuspec 文件(推荐方式)。
右键项目 → “编辑项目文件”,添加以下内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<PackageId>MyCompany.MyLibrary</PackageId>
<Version>1.0.0</Version>
<Authors>YourName</Authors>
<Company>MyCompany</Company>
<Description>A simple calculator library.</Description>
<PackageTags>calculator;demo</PackageTags>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
</Project>
说明:
- PackageId:包的唯一标识,在 nuget.org 上必须唯一
- Version:版本号,遵循语义化版本(如 1.0.0)
- GeneratePackageOnBuild:编译时自动生成 .nupkg 文件
3. 构建并生成 NuGet 包
保存项目文件后,重新构建项目:
- 右键项目 → “重新生成”
- 在 bin/Debug 或 bin/Release 目录下找到 .nupkg 文件
如果没生成,请检查是否设置了 GeneratePackageOnBuild 为 true。
Whimsical
Whimsical推出的AI思维导图工具
182
查看详情
4. 发布到本地或远程 NuGet 源
发布到本地源(测试用):
- 创建一个本地文件夹作为源,例如 C:\LocalNuGet
- 将生成的 .nupkg 文件复制进去
- 在 Visual Studio 中配置该源:工具 → 选项 → NuGet 包管理器 → 程序包源 → 添加
名称填 Local,源填文件路径(如 C:\LocalNuGet)
发布到 nuget.org(公开):
- 注册 nuget.org 账号并获取 API Key
- 使用命令行推送:
nuget push MyCompany.MyLibrary.1.0.0.nupkg YOUR_API_KEY -Source https://api.nuget.org/v3/index.json
确保已安装 NuGet CLI 工具。
5. 在其他项目中使用 NuGet 包
新建一个控制台项目或其他类型项目,然后:
- 右键项目 → “管理 NuGet 包”
- 在“浏览”选项卡中,选择你配置的源(如 Local 或 nuget.org)
- 搜索你的包名(如 MyCompany.MyLibrary)
- 点击“安装”
代码中引用并使用:
using MyLibrary; <p>var calc = new Calculator(); Console.WriteLine(calc.Add(2, 3)); // 输出 5
基本上就这些。整个流程不复杂,关键是把项目元数据配置清楚,测试本地包再发布。只要包能正常安装并调用方法,就算成功了。
以上就是C# 怎么创建和使用 NuGet 包_C# NuGet 包创建与使用教程的详细内容,更多请关注其它相关文章!
# 你要
# 学seo怎么去学
# 如何营销推广产品的优势
# 汉阳抖音seo公司
# seo关键词推广工具黑帽seo
# 众筹网站有哪些平台推广
# 蒲城营销推广招聘网
# 汝州关键词排名优化
# 网站模板的优化
# 抖音开锁关键词排名
# 江苏seo培训公司
# 并在
# 如何在
# js
# 序列化
# 操作指南
# 如何将
# 创建一个
# 如何使用
# 类库
# 右键
# .net
# c#
# microsoft
# 工具
# json
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
css链接悬停下划线样式如何自定义_使用::after结合content和transition
c++如何实现单例设计模式_c++线程安全的单例模式写法
如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题
解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常
Lar*el用户头像管理:实现图片缩放、存储与旧文件安全删除的最佳实践
优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
Excel Power Pivot如何处理XML数据源 构建高级数据模型
如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
C++ vector二维数组定义_C++ vector of vector用法
Python大型XML文件高效流式解析教程
为什么简单的XML文件也会解析失败? 检查隐藏的非打印字符(如BOM)的方法
谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航
在J*a中如何隐藏复杂性_使用门面模式组织对象交互
在哪找SublimeJ远程工具_SFTP插件配置教程
PHP中获取MongoDB服务器运行时间(Uptime)的专业指南
拼多多赚钱渠道_拼多多收益来源
妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画
QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用
CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示
抖音网页版快捷访问 抖音网页版网页版入口操作教程
必由学官方平台入口 必由学在线课堂登录地址
PySpark中从现有列右侧提取可变长度字符创建新列的教程
漫蛙漫画登录站点 漫蛙2正版漫画快速访问
Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析
Python多线程中正确使用sigwait处理SIGALRM信号
创客贴用户入口官网登录 创客贴网页版电脑版系统
漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口
c++ 获取系统当前时间 c++时间戳获取方法
如何使用Go和Martini动态服务解码后的图片
Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】
2025年云电脑操作系统体验 | 无需本地硬件,随时随地使用高性能PC
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
高德地图沿途添加点失败如何解决 高德多点规划方法
期待已久:小米17 Ultra、小米首款NAS本月登场
Flexbox布局实践:实现粘性导航栏与底部固定页脚
苹果手机如何防止被恶意App追踪
j*a toString()的覆盖
如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单
支付宝如何设置安全保护_支付宝安全设置的全面教程
解决深度学习模型训练初期异常高损失与完美验证准确率问题
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
Excel文件在线转换快速入口 Excel在线格式转换网站
汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口
微信怎么把收藏的内容分类管理 微信收藏内容标签分类方法
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置


2025-11-18
浏览次数:次
返回列表
名称填 Local,源填文件路径(如 C:\LocalNuGet)