Przejdź do treści stopki
POMOC .NET
Czym jest NuGet (samouczek dotyczący działania dla programistów)

Czym jest NuGet?

System, który pozwala programistom pisać, wymieniać i używać funkcjonalnego kodu, jest kluczowym elementem każdej nowoczesnej platformy programistycznej. Ten kod funkcjonalny jest zawarty w "pakietach", które zawierają również inne materiały wymagane przez projekty, w których są one wykorzystywane, takie jak skompilowany kod (w postaci bibliotek DLL).

Metodą udostępniania kodu dla platformy .NET (w tym .NET Core) wspieraną przez firmę Microsoft jest NuGet. NuGet umożliwia tworzenie, hostowanie i pobieranie pakietów dla .NET Framework. Pakiety oprogramowania zarządzane przez NuGet nazywane są pakietami NuGet.

Czym jest NuGet? Pakiet NuGet to po prostu plik ZIP z rozszerzeniem .nupkg. Zawiera wszystkie biblioteki DLL niezbędne do działania oprogramowania. Zawiera również opisowy manifest, który zawiera między innymi numer wersji pakietu. Programiści muszą jedynie zainstalować pakiet NuGet, aby móc korzystać z metod udostępnianych przez ten pakiet.

Funkcje NuGet

  • NuGet adds private hosting support to the central nuget.org repository.
  • NuGet zapewnia narzędzia potrzebne programistom do tworzenia, publikowania i instalowania pakietów.
  • NuGet śledzi pakiety używane w projekcie i pozwala przywrócić oraz zaktualizować te pakiety z tej listy.
  • NuGet śledzi wszystkie specyfikacje dotyczące struktury pakietów, takie jak lokalizacja i sposób odwoływania się do nich.
  • NuGet udostępnia liczne interfejsy API do programowej interakcji ze wszystkimi swoimi usługami, a także wsparcie dla programistów publikujących rozszerzenia Visual Studio.
  • NuGet zawiera pamięć podręczną pakietów oraz globalny folder na pakiety, aby ułatwić instalację i ponowną instalację. Jeśli pakiet jest już obecny na lokalnym komputerze, pamięć podręczna nie pobierze go z centralnego repozytorium, a zamiast tego udostępni pakiet z pamięci podręcznej.

Jak działa pakiet NuGet

NuGet, as a public host, maintains a central repository of over 100,000 unique packages. Każdego dnia miliony programistów .NET/.NET Core korzystają z tych pakietów. NuGet umożliwia również prywatne hostowanie pakietów w chmurze (na przykład w Azure DevOps), w sieci prywatnej, a nawet w lokalnym systemie plików. W rezultacie pakiety te są dostępne wyłącznie dla programistów posiadających dostęp do hosta, co pozwala udostępniać pakiety określonej grupie odbiorców.

Host, niezależnie od jego charakteru, służy jako łącznik między twórcami pakietów a ich użytkownikami. Twórcy opracowują przydatne pakiety NuGet i udostępniają je na serwerze. Użytkownicy przeszukują następnie dostępne serwery w poszukiwaniu przydatnych i kompatybilnych pakietów, pobierają je i włączają do swoich projektów. Po zainstalowaniu w projekcie interfejsy API pakietów są dostępne dla pozostałej części kodu projektu.

What is NuGet, Figure 1

Narzędzia NuGet

Istnieje sześć narzędzi służących do zarządzania pakietami NuGet.

.NET CLI

Jest to interfejs wiersza poleceń (CLI) dla bibliotek .NET Core i .NET Standard, a także dla projektów typu SDK przeznaczonych dla platformy .NET Framework (zobacz atrybut SDK). Niektóre funkcje NuGet CLI są dostępne bezpośrednio w łańcuchu narzędzi .NET Core. Interfejs CLI platformy .NET, podobnie jak interfejs CLI programu NuGet.exe, nie współdziała z projektami Visual Studio.

NuGet.exe CLI

Jest to interfejs CLI dla bibliotek .NET Framework oraz projektów nieopartych na SDK, ukierunkowanych na biblioteki .NET Standard. Zapewnia wszystkie możliwości interfejsu CLI platformy .NET, przy czym niektóre polecenia mają zastosowanie wyłącznie dla twórców pakietów, a inne wyłącznie dla użytkowników. Twórcy pakietów używają na przykład polecenia NuGet pack do generowania pakietu z różnych zestawów i powiązanych plików. Użytkownicy pakietów używają NuGet install do dołączania pakietów do folderu projektu. Zarówno twórcy, jak i użytkownicy pakietów używają NuGet config do ustawiania zmiennych konfiguracyjnych NuGet.

NuGet CLI nie współdziała z projektami Visual Studio, ponieważ jest to narzędzie niezależne od platformy.

Konsola menedżera pakietów

Konsola menedżera pakietów udostępnia polecenia PowerShell do instalowania pakietów i zarządzania nimi w ramach projektów Visual Studio.

Interfejs użytkownika menedżera pakietów

Interfejs użytkownika menedżera pakietów zapewnia przyjazny interfejs do instalowania pakietów i zarządzania nimi w ramach projektów w Visual Studio.

Zarządzanie interfejsem użytkownika menedżera pakietów NuGet

Narzędzie to zapewnia również przyjazny dla użytkownika interfejs do instalowania pakietów i zarządzania nimi w projektach w Visual Studio. To narzędzie jest dostępne wyłącznie dla użytkowników komputerów Mac.

MSBuild

MSBuild pozwala użytkownikom tworzyć i przywracać pakiety używane w projekcie bezpośrednio z łańcucha narzędzi MSBuild.

Interfejs użytkownika menedżera pakietów oraz konsola menedżera pakietów to najczęściej używane narzędzia do zarządzania pakietami NuGet. Teraz przyjrzymy się, jak się ich używa.

Korzystanie z interfejsu użytkownika menedżera pakietów NuGet

W programie Visual Studio kliknij opcję Narzędzia na górnym pasku menu i wybierz Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązań.

Pojawi się nowe okno, jak pokazano poniżej.

What is NuGet, Figure 2

W zakładce "Zainstalowane" pojawią się wszystkie pakiety NuGet, które są już zainstalowane.

Kliknij przycisk Przeglądaj i wpisz nazwę pakietu w pasku wyszukiwania. Jako przykład wyszukamy IronBarcode.

What is NuGet, Figure 3

Kliknij przycisk "Zainstaluj", a biblioteka zostanie zainstalowana i będzie gotowa do użycia.

IronBarcode NuGet Package Details to biblioteka opracowana i utrzymywana przez Iron Software, która pomaga inżynierom oprogramowania C# odczytywać i zapisywać kody kreskowe oraz kody QR w aplikacjach .NET.

Główne funkcje obejmują:

  • Odczytuj pojedyncze lub wiele kodów BarCode i kodów QR z obrazów lub plików PDF.
  • Korekcja obrazu pod kątem przekrzywienia, orientacji, szumów, niskiej rozdzielczości, kontrastu itp.
  • Twórz barcody i umieszczaj je na obrazach lub w dokumentach PDF.
  • Osadzanie kodów kreskowych w dokumentach HTML.
  • Sformatuj BarCodes i dodaj tekst adnotacji.
  • Funkcja tworzenia kodów QR umożliwia dodawanie logo, kolorów oraz zaawansowane dopasowanie kodu QR.

Więcej informacji na temat IronBarcode można znaleźć na stronie dokumentacji produktu.

Korzystanie z konsoli menedżera pakietów

W programie Visual Studio kliknij opcję Narzędzia na górnym pasku menu i wybierz Menedżer pakietów NuGet => Konsola menedżera pakietów.

Pojawi się okno konsoli menedżera pakietów, jak pokazano poniżej.

What is NuGet, Figure 4

Zainstalujmy pakiet za pomocą konsoli menedżera pakietów.

Do instalacji pakietu służy polecenie Install-Package 'package-Name'. Na przykład, aby zainstalować pakiet IronOCR:

Install-Package IronPdf

Pakiet NuGet Explore IronOCR to biblioteka oprogramowania w języku C#, która umożliwia programistom .NET wykrywanie i odczytywanie tekstu z obrazów i dokumentów PDF. Wykorzystuje najbardziej zaawansowany silnik Tesseract znany na rynku. IronOCR wyróżnia się na tle innych bibliotek OCR podczas pracy z rzeczywistymi obrazami pełnymi niedoskonałości (np. szumów cyfrowych, niskiej jakości rozdzielczości itp.). Obsługuje wiele języków programowania.

Więcej informacji technicznych na temat IronOCR można znaleźć na stronie internetowej produktu.

Niektóre przydatne pakiety NuGet

W tej sekcji opisano kilka przydatnych pakietów NuGet dostępnych do pracy z bazami danych i plikami.

Entity Framework

Pakiet NuGet Discover Entity Framework jest najpopularniejszym i najpotężniejszym pakietem NuGet dostępnym do pracy z bazami danych w aplikacjach .NET Framework.

Jest to wspierana przez Microsoft otwarta platforma ORM, która pozwala programistom pracować z danymi przy użyciu obiektów specyficznych dla danej dziedziny, zamiast korzystać z podstawowych tabel i kolumn bazy danych, w których dane są przechowywane. Pracując z danymi, programiści mogą działać na wyższym poziomie abstrakcji. Pozwala im to tworzyć i utrzymywać aplikacje zorientowane na dane przy użyciu mniejszej ilości kodu niż w przypadku tradycyjnych aplikacji.

Dostępne są oddzielne pakiety NuGet do zarządzania serwerami baz danych SQL Server, Oracle, MySQL i PostgreSQL.

Przewodnik "Pierwsze kroki z Entity Framework" zawiera więcej informacji na temat możliwości Entity Framework.

IronPDF

Pakiet IronPDF NuGet rozwiązuje trudny problem dodawania funkcji przetwarzania plików PDF do aplikacji. IronPDF automatyzuje konwersję sformatowanych dokumentów do formatu PDF, a także pozwala programistom tworzyć, edytować i eksportować dokumenty PDF.

Główne funkcje IronPDF obejmują:

  • Konwertuj formularze internetowe, lokalne strony HTML i inne strony internetowe do formatu PDF za pomocą .NET.
  • Umożliwia użytkownikom pobieranie dokumentów, wysyłanie ich pocztą elektroniczną lub przechowywanie w chmurze.
  • Twórz faktury, oferty, raporty, umowy i inne dokumenty.
  • Praca z ASP .NET, ASP .NET Core, formularzami internetowymi, MVC, interfejsami API sieci Web w środowisku .NET Framework oraz .NET Core.

Więcej informacji na temat IronPDF można znaleźć na stronie dokumentacji produktu.

IronXL

Pakiet IronXL NuGet pomaga inżynierom oprogramowania C# w odczytywaniu, tworzeniu i edytowaniu plików arkuszy kalkulacyjnych w aplikacjach .NET. IronXL działa dobrze bez korzystania z Office Excel Interop i nie wymaga dodatkowych zależności ani instalacji pakietu Microsoft Office.

Więcej informacji na temat IronXL można znaleźć w obszernej dokumentacji produktu.

Firma Iron Software udostępnia wszystkie pięć bibliotek (IronPDF, IronXL, IronBarcode, IronWebscraper i IronOCR) w jednym pakiecie .NET Suite. Kupując kompletną Suite, można otrzymać wszystkie pięć bibliotek w cenie dwóch. Wszystkie zakupy obejmują dożywotnią pomoc techniczną.

Podsumowanie

NuGet to menedżer pakietów dla aplikacji .NET. Narzędzia klienckie NuGet umożliwiają tworzenie, udostępnianie i pobieranie pakietów. NuGet Gallery to centralne repozytorium pakietów używane przez wszystkich autorów i użytkowników pakietów.

  • NuGet provides the central nuget.org repository with support for private hosting.
  • NuGet zapewnia narzędzia potrzebne programistom do tworzenia, publikowania i instalowania pakietów.
  • NuGet przechowuje wykaz pakietów używanych w projekcie oraz umożliwia przywracanie i aktualizowanie tych pakietów z tej listy.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Możesz również konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.

Czym jest NuGet i dlaczego jest ważny dla programistów .NET?

NuGet to system zarządzania pakietami, który pozwala programistom .NET na efektywne tworzenie, udostępnianie i wykorzystywanie spakowanego kodu. Upraszcza zarządzanie bibliotekami i zależnościami stron trzecich, zapewniając użycie właściwych wersji oraz ułatwiając aktualizację i przywracanie pakietów.

Jak zainstalować pakiet NuGet za pomocą interfejsu CLI platformy .NET?

Aby zainstalować pakiet NuGet za pomocą interfejsu CLI platformy .NET, można użyć polecenia dotnet add package [NazwaPakietu]. Polecenie to dodaje określony pakiet do projektu, usprawniając proces zarządzania pakietami.

Jakie narzędzia są niezbędne do zarządzania pakietami NuGet w Visual Studio?

Niezbędne narzędzia do zarządzania pakietami NuGet w Visual Studio to interfejs użytkownika menedżera pakietów, konsola menedżera pakietów oraz interfejs CLI .NET. Narzędzia te umożliwiają wydajne przeglądanie, instalowanie i aktualizowanie pakietów w ramach projektów.

Jakie są zalety korzystania z prywatnego hostingu dla pakietów NuGet?

Prywatny hosting pakietów NuGet pozwala programistom na bezpieczne udostępnianie pakietów w ramach określonych grup lub organizacji. Gwarantuje to, że dostęp do określonych pakietów mają wyłącznie uprawnieni użytkownicy, co zwiększa bezpieczeństwo i kontrolę nad dystrybucją kodu.

W jaki sposób konsola NuGet Package Manager Console ułatwia zarządzanie pakietami?

Konsola menedżera pakietów NuGet w Visual Studio pozwala programistom na wykonywanie poleceń związanych z instalacją, aktualizacją i zarządzaniem pakietami bezpośrednio w ich środowisku programistycznym. Zapewnia to potężny interfejs do efektywnego zarządzania zależnościami i wersjami pakietów.

Jaką rolę pełni manifest w pakiecie NuGet?

Manifest w pakiecie NuGet zawiera metadane, takie jak numer wersji pakietu i inne ważne informacje. Metadane te mają kluczowe znaczenie dla identyfikacji, zarządzania i rozwiązywania zależności w ramach projektu.

Czy NuGet może być używany w projektach innych niż .NET?

Chociaż NuGet jest przeznaczony przede wszystkim dla projektów .NET, jego infrastruktura może obsługiwać zarządzanie pakietami dla wielu innych projektów. Jednak jego pełny potencjał i funkcje najlepiej wykorzystać w ekosystemie .NET.

W jaki sposób mechanizmy buforowania w NuGet upraszczają zarządzanie pakietami?

Mechanizmy buforowania NuGet umożliwiają łatwą instalację i ponowną instalację pakietów poprzez przechowywanie danych pakietów lokalnie. Zmniejsza to potrzebę wielokrotnego pobierania pakietów z centralnego repozytorium, przyspieszając proces tworzenia oprogramowania.

Jakie są przykłady popularnych pakietów NuGet?

Popularne pakiety NuGet obejmują Entity Framework do interakcji z bazami danych, IronPDF for .NET do przetwarzania plików PDF oraz IronXL for .NET do obsługi arkuszy kalkulacyjnych. Pakiety te zapewniają programistom potężne narzędzia do ulepszania ich aplikacji .NET.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie