迷恋自留地 发表于 2021-5-7 13:32

[NET,C# ] Nuget包发布流程

本帖最后由 苏紫方璇 于 2021-5-7 14:22 编辑

## 1.新建一个.NET Core类库
![](https://img-blog.csdnimg.cn/img_convert/f98aa174bb10c0d146d2f15480d1b6f7.png#pic_center)

## 2.新增一个方法,并编译项目

![](https://img-blog.csdnimg.cn/img_convert/eb28b03fb0fa7ed5fe5eab262b671c9e.png#pic_center)

## 3.下载Nuget.exe,与刚才新建的类库放在同一目录下
下载地址:(https://www.nuget.org/downloads)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210507105923106.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0)
![](https://img-blog.csdnimg.cn/img_convert/0b83d3979658de6e7e2ba56b612916ca.png#pic_center)

## 4.在Nuget官网注册账号
官网地址:(https://www.nuget.org/)

创建一个Key
![](https://img-blog.csdnimg.cn/20210507110016592.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_16,color_FFFFFF,t_70)


![](https://img-blog.csdnimg.cn/20210507110139872.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_16,color_FFFFFF,t_70)
Key Name 和 Glob Pattern 名称一样就好
![](https://img-blog.csdnimg.cn/20210507110253907.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_16,color_FFFFFF,t_70)
`创建完成后点击copy,保存起来。因为以后无法再次复制密钥!!!`

## 5.找到vs对应的开发人员命令提示
>`C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools`

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210507111144200.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210507111210168.png)

## 6.命令提示定位到Nuget.exe所在的目录
双击运行 `Developer Command Prompt for VS 2019`cd到类库的目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/0f49e487628968afe8a8c450de8b8c2f.png#pic_center)
##7.通过命令 nuget setapikeyxxxxx (第4步生成的key), 设置API Key
`通过命令 nuget setapikeyxxxxx-xxxx-xxx-xxxx-xxxx-xxxx , 设置API Key;`
![](https://img-blog.csdnimg.cn/20210507111624637.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0)

## 8.项目属性

![](https://img-blog.csdnimg.cn/img_convert/2d0c3cd097b94ac82ed42ddcdc4a5078.png#pic_center)
##9. 生成xxxx.nuspec文件
nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。
`通过命令 nugetspec 生成xxxx.nuspec文件;`
![](https://img-blog.csdnimg.cn/20210507130311681.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_70)
## 10.编辑发布文件
`用记事本打开NugetTest.nuspec文件`
>注意里面的$xxx$宏,这些就是引用了AssemblyInfo.cs中的设置值,在编译产生package的时候,会使用AssemblyInfo.cs中的相应值进行替换。完成编辑后,我们的nuspec文件如下:
>
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/e3debfe43220c70008fbf94d8e3d8bd2.png#pic_center)
## 11.生成 xxxx.nupkg文件
`通过命令   NuGetpackxxxxxx.csproj 生成xxxx.nupkg文件`
![](https://img-blog.csdnimg.cn/img_convert/402aa51642ea02afb39f58f0ad904bf5.png#pic_center)
## 12.NuGet发布到服务器
`通过命令 nuget.exe push xxxxx.nupkg -Source https://www.nuget.org ,将NuGet发布到服务器。`
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/a068b46ea0347b6e7dbc554743bb7da1.png#pic_center)
## 13.使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/6f2c89c4204503611a540b004e3bc9a8.png#pic_center)
>参考文档:https://docs.microsoft.com/zh-cn/nuget/quickstart/create-and-publish-a-package-using-the-dotnet-cli
>翻译:https://www.cnblogs.com/chuankang/p/10076082.html

liu8359 发表于 2021-5-7 13:38

{:1_921:}写过类库没有发布过,学习了

ywqn 发表于 2021-5-7 13:43

学习了,不错不错

宅心人厚 发表于 2021-5-7 14:41

哈~只用过别人的

Rouehang 发表于 2021-5-8 14:41

谢谢大佬 ,学习到了

Booneey 发表于 2021-7-7 14:29

学习了,感谢大佬{:1_893:}{:1_893:}{:1_893:}
页: [1]
查看完整版本: [NET,C# ] Nuget包发布流程