第03章:開発環境セットアップ(Windows)🪟🧰
今日のゴール🏁✨
この章が終わったら、Outbox学習用のソリューション一式を作って、 Web API(注文など)+配送係(Relay)+DB まで「動き出す準備」完了!になります🎉
1) この章で作る“ミニ構成”🧩📦
最初はシンプルでOK!あとから育てます🌱
- Orders.Api:注文を作るWeb API(あとで「業務テーブル+Outbox」を同じトランザクションで書く)🛒🌐
- Outbox.Relay:Outboxテーブルを見て、未送信を“配送”する常駐Worker🚚⏱️
- Shared.Contracts:イベント(メッセージ)の型を共有するクラスライブラリ📮🧾
- DB(SQL Server LocalDB):ローカルで軽く動かす用🗄️✨
2) まずは最新の .NET / EF Core をそろえる🧠✨
2026年2月時点では .NET 10(LTS) が最新で、最新パッチは 10.0.2 です。(Microsoft) EF Core も EF Core 10(LTS) があり、.NET 10 が必要です。(Microsoft Learn)
3) Visual Studio で準備する(おすすめ)🧑💻💖
3-1. Visual Studio を入れる🧰✨
Visual Studio 2026 が出ています(安定版のリリース履歴も公開されています)。(Microsoft Learn)
インストーラーで、ざっくりこのへんを入れておくと安心です✅
- ASP.NET と Web 開発(Orders.Api 用)(Microsoft Learn)
- (必要なら).NET デスクトップ開発(便利ツール系が増える)(Microsoft Learn)
💡「どのワークロード入れればいい?」って迷ったら、Visual Studio の公式手順もこれが入口だよ🧭(Microsoft Learn)
3-2. ソリューションを作る📁✨
-
Visual Studio → 新しいプロジェクトの作成
-
まずは 空のソリューション(Blank Solution)を作成(例:
OutboxTutorial)🧳 -
ソリューションを右クリック → 追加 → 新しいプロジェクト
- ASP.NET Core Web API(プロジェクト名:
Orders.Api)🌐 - Worker Service(プロジェクト名:
Outbox.Relay)🚚 - クラス ライブラリ(プロジェクト名:
Shared.Contracts)📦
- ASP.NET Core Web API(プロジェクト名:
🎯 ここでは「雛形が作れて、ビルドできる」まで行けばOK!
4) DB(SQL Server LocalDB)を用意する🗄️🪄
4-1. LocalDB ってなに?(超ざっくり)😺
“ローカルでだけ”軽く使える SQL Server だよ! 本番DBの代わりに、まずは学習用で使うのにちょうどいい感じ✨
LocalDB の公式ドキュメントもここにまとまってます。(Microsoft Learn)
4-2. LocalDB が入ってるかチェック👀✅
PowerShell で確認(ダメなら後ろの「困ったとき」へ🧯)
sqllocaldb info
MSSQLLocalDB みたいなのが出てくればOK🎉
4-3. 接続文字列(あとで使う)🔗✨
まずはこの形を覚えちゃえばOK(あとで appsettings.json に入れるよ📄)
{
"ConnectionStrings": {
"Default": "Server=(localdb)\\MSSQLLocalDB;Database=OutboxDemo;Trusted_Connection=True;TrustServerCertificate=True"
}
}
5) EF Core と CLI ツールを入れる🧪🔧
5-1. NuGet パッケージ(プロジェクト側)📦✨
Orders.Api に入れる想定(あとでDbContext作る用)🧠
Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Design
EF Core のリリースと対応関係(EF10が .NET 10 対応)も公式にまとまってます。(Microsoft Learn)
5-2. dotnet ef を使えるようにする(おすすめ)🛠️✨
EF Core のCLI(dotnet ef)は、公式が手順を案内しています。(Microsoft Learn)
NuGet 側にも dotnet-ef パッケージがあります。(NuGet)
インストール(PowerShell)👇
dotnet tool install --global dotnet-ef
dotnet tool update --global dotnet-ef
入ったか確認👇
dotnet ef --version
💡 もしここで失敗したら、「.NET 10 SDK が入ってるか」をまず疑うのが近道だよ(次の“自己チェック”へ)🧯
6) ここまでの“自己チェック”✅🎯
6-1. .NET SDK 確認🔍
dotnet --info
.NET SDKに 10.0.x が見えたらOK(最新は 10.0.2)。(Microsoft)
6-2. Visual Studio でビルド確認🧱✨
- ソリューションを右クリック → ソリューションのビルド
- エラーが0ならOK🎉
6-3. LocalDB 確認🗄️
sqllocaldb info
7) Visual Studio Code でやる場合(軽量ルート)⌨️✨
7-1. C# 開発キット(C# Dev Kit)を入れる🧩
VS Code のC#サポートは C# Dev Kit が中心になっています。(Visual Studio Code) (拡張機能マーケットにも載ってます。)(Visual Studio Marketplace)
VS Code → 拡張機能で 「C# Dev Kit」 を検索してインストール🔎✨
7-2. VS Code でソリューションを開く📂
OutboxTutorial.slnのあるフォルダを開く- 自動で「必要な拡張入れる?」って聞かれたらOK押す🙆♀️
7-3. CLIで雛形を作る(VS Code派におすすめ)🧪
作業用フォルダで👇
dotnet new sln -n OutboxTutorial
dotnet new webapi -n Orders.Api
dotnet new worker -n Outbox.Relay
dotnet new classlib -n Shared.Contracts
dotnet sln OutboxTutorial.sln add Orders.Api/Orders.Api.csproj
dotnet sln OutboxTutorial.sln add Outbox.Relay/Outbox.Relay.csproj
dotnet sln OutboxTutorial.sln add Shared.Contracts/Shared.Contracts.csproj
ビルド👇
dotnet build OutboxTutorial.sln
8) 困ったとき(ありがち)🧯😭
A) dotnet が見つからない💥
- だいたい SDKが入ってない or PATHが通ってない
.NET 10 SDKを入れ直して、PC再起動で直ること多いよ✨(Microsoft)
B) dotnet ef が入らない / 動かない😵💫
- まず
dotnet --infoで .NET 10 SDK が見えてるか確認👀 - そのうえで
dotnet tool update --global dotnet-efでもう一回🔁(Microsoft Learn)
C) LocalDB がいない / sqllocaldb が動かない🗄️💦
LocalDB の公式説明を見ながら、LocalDB を入れ直すのが早いです。(Microsoft Learn)
9) AI(Copilot/Codex系)に聞くときの“うまい聞き方”🤖💡
セットアップで詰まりやすいから、AIはめっちゃ便利✨ コピペでOKな聞き方👇
- 「
dotnet --infoの結果はこれ。VS 2026でWeb API作りたいのにテンプレが出ない。原因候補を3つと確認手順を出して」🧩 - 「
sqllocaldb infoが失敗する。考えられる原因と直し方を、PowerShellコマンド付きで」🪄 - 「このエラー全文を貼るので、まず“何が起きてるか”を日本語で超やさしく説明して」📘💗
✅この章のクリア条件(チェックリスト)🎀
- Visual Studio で
Orders.Api / Outbox.Relay / Shared.Contractsが作れている🧩 - ソリューションがビルドできる(エラー0)✅
dotnet --infoで .NET 10 SDK が見える👀(Microsoft)sqllocaldb infoが動く🗄️dotnet ef --versionが動く🛠️(Microsoft Learn)