C# + ASP.NET Core 環境構築でハマったこと
環境
- .NET SDK 9.0.114(メイン)
- .NET SDK 8.0.420(別途インストール)
問題① ワークロードマニフェストのバージョン不一致
原因
.NET 9.0.114 に対してワークロードマニフェストが古かった。
試したこと
dotnet workload update # → 失敗
解決策
-
global.jsonでSDKバージョンを8.0.420に設定 -
DebtTracker.csprojのTargetFrameworkをnet9.0→net8.0に変更
// global.json
{
"sdk": {
"version": "8.0.420"
}
}
問題② AddOpenApi() が .NET 8 で使えない
原因
AddOpenApi() は .NET 9 から追加された新機能。
.NET 8 では使えない。
解決策
Program.cs からOpenAPI関連を全部削除してシンプルな構成に。
// 変更後のProgram.cs
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
var app = builder.Build();
app.MapControllers();
app.Run();
問題③ Controllersフォルダがなかった
テンプレート作成時にControllersフォルダがなかったので、手動で作成して解決。
Claude君に言われるがままにやっててはだめです🙅
最終的に動いた構成
| 項目 | 内容 |
|---|---|
| .NET SDK | 8.0.420(global.jsonで設定) |
| TargetFramework | net8.0 |
| OpenAPI | いったん削除(後で別途追加予定) |
| 起動確認 | http://localhost:5050/weatherforecast |
やっと動きました~!!
Json初なので、まだHTMLタグ見えちゃってる的な違和感あります
APIサーバー動いてます!
だけ表示されるのかなという先入観。

