0

0

C# 怎么创建和使用 NuGet 包_C# NuGet 包创建与使用教程

畫卷琴夢

畫卷琴夢

发布时间:2025-11-18 11:03:30

|

967人浏览过

|

来源于php中文网

原创

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

c# 怎么创建和使用 nuget 包_c# 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 文件(推荐方式)。

右键项目 → “编辑项目文件”,添加以下内容:


  
    net6.0
    MyCompany.MyLibrary
    1.0.0
    YourName
    MyCompany
    A simple calculator library.
    calculator;demo
    true
  
说明:
  • PackageId:包的唯一标识,在 nuget.org 上必须唯一
  • Version:版本号,遵循语义化版本(如 1.0.0)
  • GeneratePackageOnBuild:编译时自动生成 .nupkg 文件

3. 构建并生成 NuGet 包

保存项目文件后,重新构建项目:

  • 右键项目 → “重新生成”
  • 在 bin/Debug 或 bin/Release 目录下找到 .nupkg 文件

如果没生成,请检查是否设置了 GeneratePackageOnBuild 为 true。

CA.LA
CA.LA

第一款时尚产品在线设计平台,服装设计系统

下载

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;

var calc = new Calculator(); Console.WriteLine(calc.Add(2, 3)); // 输出 5

基本上就这些。整个流程不复杂,关键是把项目元数据配置清楚,测试本地包再发布。只要包能正常安装并调用方法,就算成功了。

相关专题

更多
C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

2

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

21

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

28

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

2

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

8

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

3

2026.01.15

php图片上传教程汇总
php图片上传教程汇总

本专题整合了php图片上传相关教程,阅读专题下面的文章了解更多详细教程。

2

2026.01.15

phpstorm相关教程大全
phpstorm相关教程大全

本专题整合了phpstorm相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.3万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号