Skip to content

MS_ASPNETCoreDevelopment

nishi_74322014 edited this page Aug 21, 2026 · 1 revision

ASP.NET Coreの開発

概要

ASP.NET Core 開発について、ぼちぼち書いて行く。

補足(本ページの位置づけ/最新化): 本ページは
ASP.NET Core 1.0〜2.0 時代(VS 2015〜2017)の検証記録である。
手順そのものは現在と大きく異なるため、
「当時どこでつまずいたか」の記録として読むのが妥当である。

現在の開始手順は、次の 1 行に集約される。

dotnet new mvc -o MyApp && cd MyApp && dotnet run
本ページの時代(2016〜2017) 現在
必要なもの VS 2015/2017 + .NET Core SDK を個別に .NET SDK だけ(VS 任意)
プロジェクト形式 project.json.csproj へ移行の混乱期 SDK スタイルに統一
起動 Startup.cs の 2 メソッド Program.cs 1 ファイル(最小ホスティング)
エディタ VS 中心 VS / VS Code / Rider / CLI いずれも一級
実行 IIS Express Kestreldotnet run

1st Step

Windows + VS2015 で、以下の手順でASP.NET Core開発手順をざっくり検証できた。

環境

開発環境を構築

実装

テンプレート

VS2015 で、ASP.NET MVCの認証なしテンプレートを生成する。

MVC

次いで、

  • Controller 部分に、以下のデータアクセスを実装し、
  • Model(ViewModel)にデータを詰め、
  • View で Model(ViewModel)データを表示する。

データアクセス

補足(現在のテンプレートと構成): dotnet new の主なテンプレートを
整理しておく。用途に応じて選ぶのが現在の入口である。

テンプレート 内容
web 空の Web アプリ(最小構成)
webapi Web API(最小 API または Controller)
mvc MVC(Controller + View)
razor / webapp Razor Pages
blazor Blazor Web App(.NET 8 で統合)
mvc -au Individual ASP.NET Core Identity 付き(認証あり)
dotnet new list                  # 一覧
dotnet new mvc -au Individual    # 認証付き MVC
dotnet new webapi -o Api --use-controllers

データ アクセスも選択肢が整理された
ADO.NET vs ORM)。

用途 現在の第一候補
汎用 O/R マッピング EF Core
軽量・SQL を自分で書く Dapper
SQL Server のドライバー Microsoft.Data.SqlClientSystem.Data.SqlClient は非推奨)

本ページが挙げる System.Data.SqlClient 系の記事は
ドライバーが置き換わっている点に注意する。

2st Step

以下を参考に、ASP.NET Core 2.0 を実装してみる。

移行メモ(表記): 原文の見出し「2st Step」「3st Step」は
2nd / 3rd の誤りだが、原文の節構造を保つため見出し名はそのままとした。

3st Step

Visual Studio Code による開発(CSharp for Visual Studio Code

補足(現在の開発サイクル): 本ページが「Step」として
段階的に検証している内容は、現在は次のように定型化している。

# ① 作る
dotnet new webapi -o Api && cd Api

# ② 開発中は自動リビルド・自動リロード
dotnet watch run

# ③ テスト
dotnet test

# ④ 発行([ASP.NET Coreのデプロイ](MS_ASPNETCoreDeployment))
dotnet publish -c Release -o ./publish

dotnet watch はファイル変更を検知して
ホット リロード(可能な範囲でプロセスを再起動せずに反映)するため、
本ページの時代より開発の反復が大幅に速くなっている。

開発時の構成については
.NET Core config
ユーザー シークレット(接続文字列をリポジトリに置かない仕組み)を参照。

dotnet user-secrets init
dotnet user-secrets set "ConnectionStrings:Default" "Server=...;"

複数サービスをまとめて起動・観測したい場合は
.NET Aspire も選択肢になる。

参考

Microsoft Learn

Qiita

kent_ocean

creativewebjp

CodeZine

とあるコンサルタントのつぶやき

しばやん雑記


Tags: 移行, .NET開発, .NET Core, ASP.NET, ASP.NET MVC

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally