c#【必備技能篇】製作nuget程式包,並發布到nuget官網

c#【必備技能篇】製作nuget程式包,並發布到nuget官網

非常詳細的教程

最后更新 2023/10/10 下午1:28
明如正午
预计阅读 4 分钟
分类
.NET
标签
.NET C# NuGet

1. 準備工作:在 nuget 上創建並獲取 api keys

網址:https://www.nuget.org/

1.1.首先需要登錄,直接用微軟帳戶登錄即可

1.2.點擊右上角菜單 api keys,創建 key

1.3.填寫信息並創建

這裡寫你要上傳 nuget 程式包的名稱 【每個 nuget 程式包(對應一個名稱)可以上傳多個版本】

1.4.複製 api key

2. 製作一個簡單的 dll

新建一個“庫”項目,代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{
    public class Class1
    {
        public static int Add(int a, int b)
        {
            return a + b;
        }
        public static int Sub(int a, int b)
        {
            return a -b;
        }
    }
}

框架使用.NET Framework 4.6.1,这个在后面也会使用到,输出类型使用类库:

生成如下 dll:

3. 創建發布文件夾

为了更好管理文件,在E:\nuget新建MyPackage_Star302Test文件夹,存放所需的文件

4. 上傳 nuget 程式包並發布

4.1. 方法一:使用命令行上传,需要下载nuget.exe

4.1.1. 到https://www.nuget.org/downloads下载nuget.exe

4.1.2.配置 nuget 環境變量

  • 把下载的 nuget.exe 放到E:\nuget

  • 打开电脑属性–高级系统设置–环境变量–系统变量,选择 Path–编辑–新建–填写E:\nuget,确定

環境變量配置好,就可以使用 nuget 指令了

4.1.3.生成 nuspec 文件

使用 nuget spec 命令生產.nuspec 文件

.nuspec 文件中的内容为xml格式,如下,可以简单了解:

更改後的內容為:

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
    <id>PackageTest</id>
    <version>1.0.0</version>
    <authors>Star302</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="expression">MIT</license>
    <!-- <icon>icon.png</icon> -->
    <projectUrl>http://project_url_here_or_delete_this_line/</projectUrl>
    <description>Package description</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>$copyright$</copyright>
    <tags>Tag1 Tag2</tags>
    <dependencies>
      <group targetFramework=".NETStandard2.1">
        <dependency id="SampleDependency" version="1.0.0" />
      </group>
    </dependencies>
  </metadata>
</package>

4.1.4.生成 nupkg 文件

使用nuget pack命令生产.nupkg 文件

4.1.5.複製 1.4 的 api key,上傳到 nuget

運行如下指令:

nuget push PackageTest.1.0.0.nupkg xxxkey -Source https://api.nuget.org/v3/index.json

【我試了幾次都沒成功,不知道為什麼】

4.2.方法二:使用界面工具上傳,需要下載 nuget package explorer【推薦!】

4.2.1.下載 nuget package explorer

https://www.microsoft.com/zh-cn/p/nuget-package-explorer/9wzdncrdmdm3?activetab=pivot:overviewtab

4.2.2.創建新 package

4.2.3.新增 lib 文件夾、新增 net461 文件夾、添加已有文件

4.2.4.編輯上傳數據

这里选择Edit Metadata,Edit Metadata Source 则是 xml 文件格式的

更改一些參數:

添加項目依賴,即依賴哪些框架。比如.netframework,.netstandard 等

最後,點擊確認

編輯完成,看下效果

看一下 metadata source 對應的內容,其實和剛剛編輯的信息是一致的。

4.2.5.保存 nupkg 文件

4.2.6.發布到 nuget

發布成功:

在 visual stuido 中查看:

5. nuget 包的管理

自己到https://www.nuget.org/探索一下就好,很簡單的。

參考:https://blog.csdn.net/weixin_38211198/article/details/118438071

版權聲明:本文為 csdn 博主“明如正午”的原創文章,遵循 cc 4.0 by-sa 版權協議,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/sinat_40003796/article/details/130407108

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2025/5/24

你好 .net run file, 再見 csproj

這篇文章居間了.net cli的文件式程式新特性,它允許開發者直接運行c#源文件而無需創建項目文件。該特性通過在內存中生成虛擬項目文件,並支持nuget依賴包和項目屬性設置,為開發腳本和簡單應用提供了便捷。文章還展望了該特性的未來發展方向,包括目標路徑擴展、統一命令行參數、性能提升和更多文件式程式命令支持等。

继续阅读