開発環境(Visual Studioと.NET Core)の準備
それでは、Windows環境のVisual StudioでASP.NET Coreアプリケーションを作成してみましょう。まず、現時点で最新のIDE「Visual Studio 2015」と「Update 3」をインストールします(個人の開発目的であれば、Community Editionを無償で入手できます)。
さらに、.NET Coreの実行ランタイム(CoreCLR)、ライブラリ(CoreFx)、ツール(dotnetコマンド、IDE拡張)を使用するため、.NET Core 1.0.0 - VS 2015 Tooling(現時点ではPreview 2)もインスト―ルします。
MacやLinuxの場合は、プラットフォームに応じた.NET Coreのインストール手順に従ってください。また、Visual Studio Codeというエディタを使用することができます。
ASP.NET Coreアプリケーションの作成
環境ができたら「プロジェクトの新規作成」メニューからWebアプリケーションを作成しましょう。
ASP.NET Coreでは、利用するフレームワークとして「.NET Framework」もしくは「.NET Core」のどちらかを選択できます。ここでは、.NET Coreを選択します。.NET FrameworkはこれまでのWindowsで培われてきたフルセットの基盤で、.NET Coreはマルチプラットフォームで動作するサブセットの基盤です。
次にどの種類のテンプレートを生成するかを「空」「Web API」「Webアプリケーション」のいずれかから選択できます。
ここでは、Webアプリケーションを選択します。
なお「認証なし」を選択していますが、「認証の変更」ダイアログで「個別のユーザーアカウント」に変更すると「EntityFramework Core」を使うひな形が生成されます。興味ある方は変更してみると良いでしょう。
ASP.NET Coreにおける主要なファイル群
生成されたASP.NET Coreアプリケーションの構成を見てみましょう。まず、ASP.NET Coreで新たに登場したファイル群について下表に整理します。個々のファイルの役割については、後ほど紹介します。
ファイル名 | 概要 |
---|---|
Properties\launchSettings.json | Visual Studioデバッグ実行時の設定(VS Codeでは.vscode\launch.json) |
appsettings.json | アプリケーション起動時に読み込まれるアプリケーション設定 |
bundleconfig.json | クライアントスクリプトのバンドル設定 |
bower.json | Bowerによるクライアントパッケージの設定 |
package.json | npm(Node.jsによるパッケージ管理)の設定 |
project.json | プロジェクトの設定 |
project.lock.json | project.jsonの依存性を解決したファイル |
Program.cs | 起動エントリポイント(static void Main関数) |
Startup.cs | 起動時のコンフィグレーション、ミドルウェア設定 |
Web.config | IISに関する設定 |
初回起動時の依存アセンブリの解決
ASP.NET Coreプロジェクトを最初に開いた時の動作に注目してみましょう。ソリューションエクスプローラの上部に「パッケージを復元しています」というメッセージが表示され、参照設定が自動的に解決されていることが確認できます。
同時に出力ウィンドウには、以下のような内容が表示されています。
【(1)ビルド/実行方法: 「dotnet.exe restore」コマンド】 C:\Program Files\dotnet\dotnet.exe restore "C:\CodeZine\.vs\nestore.dg" -s "C:\Program Files (x86)\Microsoft SDKs\NuGetPackages" 【(2)プロジェクトファイル: project.jsonの読み込み】 Restoring packages for C:\CodeZine\AspNetCoreSample\project.json... 【中編で紹介:依存解決: 必要なパッケージをNuGetで解決】 Installing Newtonsoft.Json 9.0.1. 【中編で紹介:JavaScript/CSSのバンドル・ミニファイ】 Restoring packages for tool 'BundlerMinifier.Core' 【中編で紹介:Razorツール】 Restoring packages for tool 'Microsoft.AspNetCore.Razor.Tools' 【中編で紹介:IIS統合】 Restoring packages for tool 'Microsoft.AspNetCore.Server.IISIntegration.Tools' 【中編で紹介:プロジェクトファイル: project.lock.jsonファイル出力】 Writing lock file to disk. Path: C:\CodeZine\AspNetCoreSample\project.lock.json 【中編で紹介:プロジェクトファイル: 「*.xproj」プロジェクトファイル】 C:\CodeZine\AspNetCoreSample\AspNetCoreSample.xproj
引き続き、このログの内容に沿って、ASP.NET Coreにおける大きな変更点について紹介していきます。