.NET ヘルプ

NuGetとは何ですか?

Kannaopat Udonpant
カンナパット・ウドンパント
2022年10月30日
共有:

開発者が機能的なコードを作成、共有、使用できるシステムは、現代の開発プラットフォームの重要な要素です。 この機能コードは、「パッケージ」にバンドルされており、それを使用するプロジェクトで必要とされるコンパイル済みコード(DLL形式)などの他の資料も含まれています。

Microsoftがサポートする.NET(.NET Coreを含む)のコード共有の方法は、NuGetです。 NuGetは、.NETフレームワーク用のパッケージの作成、ホスティング、および取得を可能にします。 NuGetが管理するソフトウェアパッケージは、NuGetパッケージと呼ばれます。

NuGetとは何ですか? NuGetパッケージは、拡張子.nupkgを持つ単なるzipファイルです。 ソフトウェアを機能させるために必要なすべてのDLLが含まれています。 また、パッケージのバージョン番号などを記載した説明的なマニフェストも含まれています。 開発者はNuGetパッケージをインストールするだけで、そのパッケージが提供するメソッドを使用できます。

NuGet機能

  • NuGet は中央の [nuget.org](https://nuget.org/" target="_blank" rel="nofollow noreferrer noopener) リポジトリにプライベートホスティングサポートを追加します。
  • NuGetは、開発者がパッケージを作成、公開、およびインストールするために必要なツールを提供します。
  • NuGetはプロジェクトで使用されるパッケージを記録し、そのリストからパッケージを復元および更新することができます。
  • NuGetは、パッケージの構造、ローカリゼーション、および参照方法に関するすべての仕様を管理します。
  • NuGetは、すべてのサービスとプログラム的に対話するための多数のAPIを提供し、Visual Studioの拡張機能を公開する開発者もサポートします。
  • NuGetには、インストールおよび再インストールを容易にするためのパッケージキャッシュとグローバルフォルダーが含まれています。 パッケージがすでにローカルマシンに存在する場合、キャッシュはそれを中央リポジトリからダウンロードせず、キャッシュからパッケージを提供します。

NuGetパッケージの仕組み

NuGetは、パブリックホストとして、[100,000以上のユニークなパッケージ](http://nuget.org/" target="_blank" rel="nofollow noopener noreferrer)の中央リポジトリを維持しています。 毎日、何百万もの.NET/.NET Core開発者がこれらのパッケージを使用しています。 NuGetはまた、クラウド(例えば、Azure DevOps)、プライベートネットワーク、またはローカルファイルシステム上にパッケージをプライベートにホストすることもできます。 その結果、これらのパッケージはホストにアクセスできる開発者のみが利用可能となり、特定の消費者グループにパッケージを提供することができます。

ホストは、その性質が何であれ、パッケージの作成者とパッケージの消費者の間のリンクとして機能します。 クリエイターは有用なNuGetパッケージを開発し、それをホストに配布します。消費者は、その後、アクセス可能なホストから有用で互換性のあるパッケージを検索し、そのパッケージをダウンロードしてプロジェクトに含めます。 プロジェクトにインストールされたパッケージのAPIは、プロジェクトコードの残りの部分からアクセスできます。

NuGetとは何ですか、図1

NuGetツール

NuGetパッケージを管理するために使用される6つのツールがあります。

.NET CLI (コマンドラインインターフェース)

これは、.NET Core および .NET Standard ライブラリ、さらに .NET Framework をターゲットとする SDK スタイル プロジェクト(SDK 属性を参照)に対するコマンドライン インターフェース (CLI) です。 特定のNuGet CLI機能は、.NET Coreツールチェーン内で直接利用可能です。 .NET CLIは、nuget.exe CLIのように、Visual Studioプロジェクトとやり取りすることはありません。

NuGet.exe CLI

それは.NET Standardライブラリを対象とした.NET Frameworkライブラリおよび非SDKスタイルプロジェクトのためのCLIです。 それは、.NET CLIのすべての機能を提供し、一部のコマンドはパッケージ作成者のみに適用され、その他のコマンドは消費者のみに適用されます。 パッケージ作成者は、たとえば、NuGet pack コマンドを使用して、さまざまなアセンブリや関連ファイルからパッケージを生成します。 パッケージユーザーはプロジェクトフォルダーにパッケージを含めるためにNuGet installを使用します。 パッケージ開発者とパッケージユーザーの両方がNuGet configを使用してNuGet構成変数を設定します。

NuGet CLIはプラットフォームに依存しないツールであるため、Visual Studioプロジェクトとは相互作用しません。

パッケージ マネージャー コンソール

パッケージ マネージャー コンソールは、Visual Studio プロジェクト内でパッケージをインストールおよび管理するための PowerShell コマンドを提供します。

パッケージマネージャーUI

パッケージ マネージャー UI は、Visual Studio 内でプロジェクト用のパッケージをインストールおよび管理するための使いやすいインターフェイスを提供します。

NuGet パッケージ マネージャー UI を管理する

また、このツールは、Visual Studioのプロジェクトにパッケージをインストールして管理するためのユーザーフレンドリーなインターフェイスを提供します。 このツールはMacユーザーのみ利用可能です。

MSBuild

MSBuildにより、ユーザーはMSBuildツールチェーンから直接プロジェクトで使用されるパッケージの作成と復元を行うことができます。

パッケージ マネージャーUIおよびパッケージ マネージャーコンソールは、NuGetパッケージを管理するためによく使用されるツールです。 それでは、これらがどのように使用されるかを見ていきましょう。

NuGet パッケージ マネージャ UI の使用

Visual Studioで、トップメニューバーからToolsをクリックし、NuGet Package Manager > Manage NuGet package for Solutionsを選択します。

以下のように新しいウィンドウが表示されます。

NuGetとは何か, 図2

インストール済みタブには、すでにインストールされているすべてのNuGetパッケージが表示されます。

「ブラウズボタンをクリックして、検索バーにパッケージの名前を入力してください。」 例としてIronBarcodeを検索します。

NuGetとは、図3

インストールボタンをクリックすると、ライブラリがインストールされ、使用可能になります。

IronBarcode NuGetパッケージの詳細は、Iron Softwareによって開発および維持されているライブラリで、C#ソフトウェアエンジニアが.NETアプリケーションでバーコードやQRコードを読み書きするのを支援します。

主な機能には以下が含まれます:

  • 画像やPDFから単一または複数のBarCodeやQRコードを読み取ります。
  • 傾き、向き、ノイズ、低解像度、コントラストなどの画像補正。
  • BarCodeを作成し、画像やPDF文書に適用します。
  • HTMLドキュメントにバーコードを埋め込む。
  • BarCode のスタイル設定と注釈テキストの追加。
  • QRコードの書き込みでは、ロゴ、色、および高度なQR整列の追加が可能です。

    製品のドキュメントページからIronBarcodeについてさらに学びましょう。

パッケージマネージャーコンソールの使用

Visual Studioで、トップメニューバーから「ツール」をクリックし、「NuGet パッケージ マネージャー」=>「パッケージ マネージャー コンソール」を選択します。

パッケージ マネージャー コンソール ウィンドウが以下のように表示されます。

NuGetとは何か、図4

パッケージマネージャコンソールを使用してパッケージをインストールしましょう。

Install-Package 'package-Name' コマンドはパッケージをインストールするために使用されます。 例えば:

Install-Package IronPdf

IronOCR NuGetパッケージを探索する は、.NETソフトウェア開発者が画像やPDFドキュメントからテキストを検出して読み取ることを可能にするC#ソフトウェアライブラリです。 それは、最も先進的なTesseractエンジンを使用しています。 IronOCR は、欠点のある実際の画像を扱う際に、他のOCRライブラリを圧倒します(すなわち、デジタルノイズ、低解像度など)。 複数のプログラミング言語に対応しています。

技術文書を読んで、製品ウェブサイトでIronOCRについてもっと知る。

便利なNuGetパッケージ

このセクションでは、データベースとファイルを操作するために利用できる便利なNuGetパッケージについて説明します。

エンティティ フレームワーク

Entity Framework NuGet パッケージを発見は、.NET アプリケーションでデータベースを操作するために利用可能な最も一般的で強力な NuGet パッケージです。

これは、MicrosoftによってサポートされているオープンソースのORMフレームワークであり、開発者がデータを保存しているデータベースのテーブルやカラムを使用するのではなく、ドメイン固有のオブジェクトを使用してデータを操作できるようにします。 データを扱う際、開発者はより高い抽象度で作業することができます。 これにより、従来のアプリケーションよりも少ないコードで、データ指向のアプリケーションを作成・保守できるようになります。

SQLサーバー、Oracle、MySQL、およびPostgreSQLデータベースサーバーを管理するための個別のNuGetパッケージが利用可能です。

エンティティフレームワークの入門ガイドは、エンティティフレームワークの機能に関する詳細情報を提供します。

IronPDF

IronPDF NuGet パッケージは、アプリにPDF処理機能を追加する難しい問題を解決します。IronPDFは、フォーマットされた文書のPDFへの変換を自動化し、開発者がPDF文書を作成、編集、エクスポートすることも可能にします。

IronPDFの主な機能には以下が含まれます:

  • . NETを使用して、ウェブフォーム、ローカルHTMLページ、その他のウェブページをPDFに変換します。
  • ユーザーがドキュメントをダウンロードしたり、電子メールで送信したり、クラウドに保存したりできるようにします。
  • 請求書、見積書、レポート、契約書、その他の文書を作成します。
  • ASP .NET、ASP .NET Core、Webフォーム、MVC、.NET Framework上のWeb API、.NET Coreを使用します。

    IronPDFについて詳しくは、製品ドキュメントページをご覧ください。

IronXL

IronXL NuGet Package は、C#ソフトウェアエンジニアが.NETアプリケーションでスプレッドシートファイルを読み取り、作成、編集するのを支援します。 IronXL はOffice Excel Interopを使用せずに動作し、追加の依存関係やMicrosoft Officeのインストールが必要ありません。

IronXLの詳細については、包括的な製品ドキュメントをご覧ください。

Iron Software は、5 つのライブラリすべて (IronPDF、IronXL、IronBarcode、IronWebScraper、IronOCR) を単一の.NET Suite で提供しています。 完全なスイートを購入すると、2つ分の価格で5つのライブラリすべてを入手できます。すべてのご購入には、生涯製品サポートが含まれます。

サマリー

NuGetは、.NETアプリケーションのためのパッケージマネージャです。 NuGetクライアントツールは、パッケージを作成、共有、および取得する機能を提供します。 NuGetギャラリーは、すべてのパッケージ作成者および消費者が利用する中央パッケージリポジトリです。

  • NuGetは、プライベートホスティングをサポートする中央[nuget.org](http://nuget.org/" target="_blank" rel="nofollow noopener noreferrer)リポジトリを提供します。
  • NuGetは、開発者がパッケージを作成、公開、およびインストールするために必要なツールを提供します。
  • NuGetは、プロジェクトで使用されるパッケージのリファレンスを管理し、そのリストからパッケージを復元および更新する機能を備えています。
Kannaopat Udonpant
カンナパット・ウドンパント
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、カンナパットは日本の北海道大学から環境資源学の博士号を取得しました。学位を取得する過程で、カンナパットはバイオプロダクション工学部に所属する車両ロボティクス研究所のメンバーにもなりました。2022年には、C#のスキルを活かしてIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。カンナパットは、IronPDFで使用されているコードの大部分を作成した開発者から直接学べることに価値を見いだしています。同僚との学び合いに加えて、Iron Softwareで働くことの社会的側面も楽しんでいます。コードやドキュメントを書いていない時には、カンナパットは通常、PS5でゲームをしたり、『The Last of Us』を再視聴したりしています。
< 以前
Razor vs Blazor レイザー vs ブレイザー