NuGet02-包制作及管理
1、制作NuGet包
(1)创建类库项目
- 命名冲突:因为现在包是需要发到公共仓库供所有人使用的,所以名称不能和其他人的包名一样。
- 命名建议:公司名.产品名.功能模块(如:Microsoft.Extensions.Logging)。
dotnet new classlib -n BluecusliyouPackage
cd BluecusliyouPackage
(2)配置包信息
<PropertyGroup><PackageId>BluecusliyouPackage</PackageId><Version>1.0.0</Version><Authors>bluecusliyou</Authors><Description>功能描述</Description><PackageTags>工具类,扩展</PackageTags><GeneratePackageOnBuild>true</GeneratePackageOnBuild><PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup>
- 设置说明文档路径,在项目根目录创建
README.md
(Markdown 格式),写入包的说明(如功能、安装、使用示例、依赖等)。(可选)
<PropertyGroup><PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup><TargetFrameworks>net6.0;netstandard2.0</TargetFrameworks>
</PropertyGroup>
<PropertyGroup><GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
(3)生成包文件
dotnet build --configuration Release
dotnet pack --configuration Release
- 生成路径:
/bin/Release/BluecusliyouPackage.1.0.0.nupkg

2、发布到NuGet.org
(1)获取API密钥
- 登录nuget.org → 用户菜单 → API Keys

- 在"API Keys"页面创建新密钥,Scope选择
Push
,Glob Pattern填*
,复制生成的Key备用。

(2)网页端上传
- 官网点击【Upload】按钮直接上传.nupkg文件
- 等待自动验证(约 1-5 分钟)


(3)命令行上传
- YOUR_API_KEY:替换成你创建的 APIKEY
- 上传完成等待自动验证(约 1-5 分钟)
dotnet nuget push BluecusliyouPackage.1.0.0.nupkg -k YOUR_API_KEY -s https://api.nuget.org/v3/index.json
nuget push BluecusliyouPackage.1.0.0.nupkg YOUR_API_KEY -Source https://api.nuget.org/v3/index.json
(4)上传后效果

3、维护管理
(1)版本更新
- 每次更新版本修改
.csproj
中的<Version>
。 - 遵循语义化版本规范(SemVer):主版本号.次版本号.修订号。https://blog.csdn.net/liyou123456789/article/details/149517495
- 预发布版本使用后缀:
1.0.0-beta
。
- 重新生成文件,重新上传版本。
(2)包撤回