本文へスキップ
BecomeCoder

C#実践コース · 第3章 ビルド・ツールとプロジェクト基礎 · レッスン18

csproj と NuGet(ローカル実施)

ローカル実施
スターターをダウンロード(.zip)

導入

プロジェクトの設計図が.csprojファイル、外部ライブラリの入手先がNuGetです。「どの.NET向けにビルドし、どのライブラリ(dll)に依存するか」を管理する仕組みを学びます。

図解

flowchart TB
    APP["あなたのアプリ"] --> STD["標準ライブラリ<br/>(SDK同梱)"]
    APP --> NUGET["NuGetパッケージ<br/>Newtonsoft.Json / EF Core など"]
    NUGET -->|dotnet add package| APP

詳細手順

  1. スターター102-csproj-nuget/starter.zipを展開し、.slnを開く
  2. ソリューションエクスプローラーでプロジェクトをダブルクリックし、.csprojの中身を見る:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net10.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>   <!-- using を省略できる -->
    <Nullable>enable</Nullable>               <!-- null許容の警告を有効化 -->
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />  <!-- NuGet依存 -->
  </ItemGroup>
</Project>
  1. ソリューションエクスプローラーの「依存関係」を右クリック → NuGet パッケージの管理 を開き、Newtonsoft.Jsonを検索してインストールする
Visual StudioのNuGetパッケージマネージャーでNewtonsoft.Jsonを検索・インストールする画面
NuGet パッケージ マネージャー(GUIでパッケージを追加)
  1. インストール後、.csproj<PackageReference>が自動で追記されることを確認する(CLIならdotnet add package Newtonsoft.Jsonでも同じ)

補足

  • TargetFrameworkはビルド対象の.NETバージョン、OutputTypeExeLibrary(前レッスン)
  • 複数プロジェクトは.sln(ソリューション)で束ねる(本体・テスト・共通ライブラリを分ける)

まとめ

  • .csprojはプロジェクトの設計図(対象.NET・依存関係)
  • NuGetはGUIまたはdotnet add packageでライブラリ(dll)を追加する
  • 複数プロジェクトは.slnで束ねる

次回: Visual Studioでの設定・構成ファイル・リソースの扱いです。

テンプレート構成(教材制作用メモ)

102-csproj-nuget/
└── starter.zip   # csproj編集とNuGet追加を体験する最小プロジェクト