打包并发布到 NuGet
将库打包为 .nupkg 并发布。填写最少的元数据,运行 dotnet pack,使用 API 密钥推送,并遵循安全的发布实践。
打包并发布到 NuGet 是 CoddyKit 上的免费 C# Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 3 节课。
计划
目标:构建并发布 NuGet 包。
- 在项目中填写基本元数据
- 运行 dotnet pack 以生成 .nupkg
- 使用 API 密钥执行 dotnet nuget push
- 遵循安全的发布检查
要设置的元数据
- PackageId:唯一 ID(例如 Company.Widget)
- 版本:MAJOR.MINOR.PATCH
- 作者、描述
- PackageLicenseExpression(例如 MIT)或许可证文件
- RepositoryUrl(可选但很有用)
标识预览
包携带标识和版本。这个简单应用会读取打包时将要公开的程序集名称和版本。
using System;
using System.Reflection;
// Demo: show how a packed library exposes version and name.
// In real packaging, version/metadata come from the .csproj.
public class Program
{
public static void Main(string[] args)
{
Assembly asm = Assembly.GetExecutingAssembly();
Version ver = asm.GetName().Version;
string name = asm.GetName().Name;
Console.WriteLine("Assembly: " + name);
Console.WriteLine("Version: " + (ver == null ? "unknown" : ver.ToString()));
Console.WriteLine("Tip: Set PackageId/Version/Authors in the .csproj before packing.");
}
}
打包与推送步骤
工作流:还原 → 打包 → 推送。请妥善保管 API 密钥,并限制其权限范围。
using System;
// This code prints the typical pack workflow steps.
// Run them in your terminal; here we just echo the sequence.
public class Program
{
static void Print(string step)
{
Console.WriteLine(step);
}
public static void Main(string[] args)
{
Print("1) Ensure .csproj has PackageId/Version/Authors/Description");
Print("2) dotnet restore");
Print("3) dotnet pack -c Release");
Print(" -> bin/Release/<tfm>/*.nupkg");
Print("4) Get an API key from your NuGet server");
Print("5) dotnet nuget push bin/Release/*.nupkg --api-key <KEY> --source <URL or nuget.org>");
Print("Done: package available for consumers.");
}
}
发布提示
- 推送前在本地测试包(从本地源安装)
- 对 API 密钥保密;优先使用环境变量
- 如果需要更好的调试体验,请提供符号和源代码信息
- 编写简短的 README 和变更日志
故障排查
- ID 已存在 → 选择唯一的 PackageId
- 缺少许可证 → 添加 PackageLicenseExpression 或许可证文件
- 没有描述 → 添加简短的产品摘要
- 版本错误 → 正确递增 MAJOR/MINOR/PATCH
打包命令
回顾
回顾:填写项目元数据,运行 dotnet pack 创建 .nupkg,然后使用 API 密钥运行 dotnet nuget push。验证内容并妥善保管凭据。
用 AI 导师学习 C# — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 93
- 课程
- 346
常见问题解答
「打包并发布到 NuGet」课时是免费的吗?
是的 — 「打包并发布到 NuGet」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 3 节课。
「打包并发布到 NuGet」这节课中我会学到什么?
将库打包为 .nupkg 并发布。填写最少的元数据,运行 dotnet pack,使用 API 密钥推送,并遵循安全的发布实践。 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。
「打包并发布到 NuGet」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 库与应用的 .csproj 及语义化版本
- 打包并发布到 NuGet
- 多目标框架