ASP.NET Coreを動かすための設定
参考: ASP.NET Coreを動かすためのIISの構築方法 - Qiita
IISのインストール
IIS(web サーバー)機能の有効化
- コントロールパネル > プログラムと機能 を起動し、「Windows の機能の有効化または無効化」を選択
- ここで、「インターネット インフォメーション サービス」を有効にします。
- このうち、
- IIS 管理コンソール
- ASP.NET 4.x
- にチェックをつけ、あとは自動的にチェックがON になるままにします。OK ボタンを押すと、Windows に web サーバーの機能が有効になります。
ASP.NET 状態サービスの機能追加(Window 共通)
- 「管理ツール」の 「サービス」を起動し(「コンピュータの管理」>「サービスとアプリケーション」>「サービス」でも可)、「ASP.NET State Service (「ASP.NET 状態サービス」 という表記の場合があります)」をダブルクリック
- 「スタートアップの種類」を「自動」に設定、「開始」ボタンをクリック後、「OK」ボタンをクリック
ツールのインストール
- .NET Core SDK
-
ASP.NET Core Module
- ※先に.NET Core SDKをインストールすること
- インストール後に、IISを再起動する(iisreset)
.NETアプリケーション作成
新規プロジェクト作成
PS > dotnet new console -o HelloWorld
パッケージの追加
PS > dotnet add package [パッケージ名]
.Net Coreアプリの配置
参考:.NET Coreでコンソールアプリを配置する - Build Insider
フレームワークに依存する展開(Framework-dependent deployment、FDD)
- メリット
- ビルド成果物のバイナリがOSによらず同一であるためビルドの実行や配置が容易になる
- ビルド成果物が軽量になる
- 複数のアプリを同じOSで実行する場合に.NET Coreランタイムは共通であるためディスク使用量が削減される
- デメリット
- 事前に.NET Coreランタイムのインストールが必要である
- .NET Coreランタイム側のバージョンアップでまれではあるがアプリの動作に変更が生じる可能性がある
自己完結型の展開(Self-contained deployment、SFD)
- メリット
- 事前のランタイムインストールが不要
- 利用するランタイムを完全に固定できる
- デメリット
- OSごとにビルドを行ってバイナリを生成しないといけない
- ランタイムが含まれるので配置するバイナリのサイズが大きくなる
- 配置先のマシンで占めるディスク容量が増える
.Net Core コンソールアプリケーション
コンソール アプリケーション | Microsoft Docs
ログ
- DIコンテナとか使ってみたいけど、今回は使用せず。
.NETでログファイルのローテーションに日付を使用する - redwarrior’s diary
テスト
dotnet テストと xUnit を使用した .NET Core での単体テスト C# コード | Microsoft Docs
- テスト実行
- dotnet test