0Pricing
C# Academy · Lekcja

Pakowanie i publikowanie w NuGet

Proszę spakować bibliotekę do pliku .nupkg i ją opublikować. Proszę uzupełnić minimalne metadane, uruchomić dotnet pack, wypchnąć pakiet za pomocą klucza API oraz stosować bezpieczne praktyki publikowania.

Pakowanie i publikowanie w NuGet to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.

Plan

Cel: Zbudowanie i opublikowanie pakietu NuGet.

  • Uzupełnienie podstawowych metadanych projektu
  • Uruchomienie polecenia dotnet pack w celu uzyskania pliku .nupkg
  • Użycie klucza API do wykonania polecenia dotnet nuget push
  • Przeprowadzenie bezpiecznych kontroli przed publikacją

Metadane do ustawienia

  • PackageId: unikatowy identyfikator (np. Company.Widget)
  • Version: MAJOR.MINOR.PATCH
  • Authors, Description
  • PackageLicenseExpression (np. MIT) lub plik licencji
  • RepositoryUrl (opcjonalny, ale przydatny)

Podgląd tożsamości

Pakiet zawiera tożsamość i wersję. Ta prosta aplikacja odczytuje nazwę i wersję assembly, które zostaną udostępnione podczas pakowania.

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.");
  }
}

Kroki pakowania i wysyłania

Przebieg pracy: restore → pack → push. Klucz API należy przechowywać w bezpieczny sposób i ograniczyć jego zakres.

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.");
  }
}

Wskazówki dotyczące publikowania

  • Przed wysłaniem należy przetestować pakiet lokalnie (zainstalować go z lokalnego źródła)
  • Klucze API należy przechowywać w tajemnicy; najlepiej używać zmiennych środowiskowych
  • Jeśli potrzebne jest lepsze debugowanie, należy dołączyć symbole i informacje o kodzie źródłowym
  • Należy przygotować krótki plik README i dziennik zmian

Rozwiązywanie problemów

  • Identyfikator już istnieje → wybierz unikatowy PackageId
  • Brak licencji → dodaj PackageLicenseExpression lub plik licencji
  • Brak opisu → dodaj krótkie podsumowanie produktu
  • Nieprawidłowa wersja → poprawnie zwiększ MAJOR/MINOR/PATCH

Polecenie pakowania

Szybkie sprawdzenie: które polecenie CLI tworzy plik .nupkg na podstawie pliku .csproj?

Podsumowanie

Podsumowanie: Uzupełnij metadane projektu, uruchom dotnet pack, aby utworzyć plik .nupkg, a następnie użyj dotnet nuget push wraz z kluczem API. Zweryfikuj zawartość i chroń dane uwierzytelniające.

Często zadawane pytania

Czy lekcja „Pakowanie i publikowanie w NuGet” jest bezpłatna?

Tak — pełny tekst „Pakowanie i publikowanie w NuGet” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Pakowanie i publikowanie w NuGet”?

Proszę spakować bibliotekę do pliku .nupkg i ją opublikować. Proszę uzupełnić minimalne metadane, uruchomić dotnet pack, wypchnąć pakiet za pomocą klucza API oraz stosować bezpieczne praktyki publiko… Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.

Ile czasu zajmuje lekcja „Pakowanie i publikowanie w NuGet”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Biblioteka a aplikacja .csproj i wersjonowanie semantyczne
  2. Pakowanie i publikowanie w NuGet
  3. Obsługa wielu platform docelowych
← Powrót do C# Academy