NuGetへのパッキングと公開
ライブラリを.nupkgにパックして公開します。最小限のメタデータを入力し、dotnet packを実行し、APIキーでpushし、安全な公開の実践方法に従います。
「NuGetへのパッキングと公開」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全3レッスンが含まれています。
計画
目的:NuGetパッケージをビルドして公開します。
- プロジェクトに基本的なメタデータを入力します
- dotnet packを実行して.nupkgを取得します
- APIキーを使用してdotnet nuget pushを実行します
- 安全な公開の確認手順に従います
設定するメタデータ
- PackageId:一意のID(例:Company.Widget)
- Version:MAJOR.MINOR.PATCH
- Authors、Description
- 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.");
}
}
パックとプッシュの手順
ワークフロー:restore → pack → push。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を実行します。内容を確認し、認証情報を安全に管理してください。
よくある質問
「NuGetへのパッキングと公開」レッスンは無料ですか?
はい。「NuGetへのパッキングと公開」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全3レッスンが含まれています。
「NuGetへのパッキングと公開」で何を学びますか?
ライブラリを.nupkgにパックして公開します。最小限のメタデータを入力し、dotnet packを実行し、APIキーでpushし、安全な公開の実践方法に従います。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「NuGetへのパッキングと公開」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ライブラリとアプリの.csproj、セマンティックバージョニング
- NuGetへのパッキングと公開
- マルチターゲティング