创建NuGet包需准备类库项目,添加唯一PackageId等元数据,通过do.net pack生成.nupkg文件,再用dotnet nuget push命令配合API密钥发布至NuGet.org。

创建并发布一个 NuGet 包,是将 C# 类库分享给其他开发者或在多个项目中复用的重要方式。整个过程包括:准备类库项目、添加包元数据、生成包文件(.nupkg)、以及发布到 NuGet.org 或私有源。
1. 准备类库项目
确保你有一个 .NET 类库项目(推荐使用 SDK 风格的 csproj 格式)。如果你还没有,可以用 visual studio 或命令行创建:
dotnet new classlib -n MyLibrary
这会生成一个名为 MyLibrary 的类库项目。
2. 添加 NuGet 包元数据
打开 .csproj 文件,在 PropertyGroup 中添加必要的 NuGet 元数据,例如:
<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 library for demonstration.</Description>
<PackageTags>demo;utility</PackageTags>
<PackageProjectUrl>https://github.com/yourname/MyLibrary</PackageProjectUrl>
<RepositoryUrl>https://github.com/yourname/MyLibrary</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Copyright>© MyCompany. All rights reserved.</Copyright>
<PackageReleaseNotes>Initial release.</PackageReleaseNotes>
</PropertyGroup>
</Project>
这些字段会在 NuGet.org 上显示。其中 PackageId 必须全局唯一。
3. 生成 NuGet 包 (.nupkg)
在项目目录下运行以下命令生成包:
dotnet pack -c Release
成功后会在 bin/Release 目录下生成一个 .nupkg 文件,比如:MyCompany.MyLibrary.1.0.0.nupkg。
4. 发布到 NuGet.org
要发布到公共 NuGet 仓库,你需要:
- 注册一个账号:访问 nuget.org 并注册
- 获取 API Key:登录后进入「API Keys」页面,创建一个新的 key,选择包含你包名的模式(如 *),复制该 key
然后使用命令行推送包:
dotnet nuget push MyCompany.MyLibrary.1.0.0.nupkg –api-key YOUR_API_KEY –source https://api.nuget.org/v3/index.json
推送成功后,你的包将在 NuGet.org 上可搜索和安装。
如果以后更新版本,只需修改 .csproj 中的 Version 字段,重新打包并推送即可。
基本上就这些。不复杂但容易忽略细节,比如包名冲突或缺少元数据导致审核警告。建议首次发布前先检查包内容:
# 可用工具查看 .nupkg 内容(本质是 zip 文件) # 解压后检查 lib/、ref/、.dll 和 .xml 文档是否正确包含