#14 C#で学ぶ外部ライブラリの基本

C#の外部ライブラリは、「NuGet」という公式のパッケージ管理システムを使って導入します。この記事では、C#における外部ライブラリの使い方の基本を、つまずきやすいポイントも含めて解説します。

NuGetでライブラリをインストールする

dotnet add package Newtonsoft.Json

Visual Studioを使っている場合は、「NuGetパッケージの管理」という画面から検索してインストールすることもできます。バージョンを指定したい場合は、コマンドに--versionオプションを付けます。

dotnet add package Newtonsoft.Json --version 13.0.3

ライブラリを使う

using Newtonsoft.Json; string json = JsonConvert.SerializeObject(person);

プロジェクトファイルに記録される

インストールしたライブラリは、プロジェクトの.csprojというファイルに、次のようなPackageReferenceという形で自動的に記録されます。

<ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> </ItemGroup>

このファイルがあれば、他の環境でも同じライブラリを揃えられます。他の人が作ったプロジェクトをGitなどから取得した直後は、ライブラリの実体(dllファイル等)はまだダウンロードされていないため、次のコマンドで.csprojの内容をもとに一括復元します。

dotnet restore

実はdotnet buildやdotnet runを実行すると、内部で自動的にrestoreが走るため、普段は明示的に打たなくても済むことが多いですが、仕組みとして知っておくと復元エラー時の切り分けに役立ちます。

C#ならではの注意点

NuGetは、JavaのMaven Centralやnpmのレジストリと同じような役割を果たす、C#の標準的なライブラリ配布の仕組みです。名前が独特なので、他の言語の経験がある人は「NuGet=C#のパッケージ管理」と覚えておくとよいでしょう。また、複数のライブラリが依存する共通ライブラリのバージョンが食い違う「バージョン衝突」が起きることもあります。ビルドエラーでバージョンに関するメッセージが出た場合は、.csproj内のバージョン指定を見直すか、dotnet list packageコマンドで依存関係を確認するとよいでしょう。

まとめ

C#の外部ライブラリはNuGetを通じてdotnet add packageで導入します。.csprojファイルでの管理、他環境でのdotnet restoreによる復元、バージョン衝突時の確認方法もあわせて覚えておきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

C#をもっと学びたい方には「確かな力が身につくC#「超」入門 第2版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本