SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは?

ASP.NET Coreの概要を理解してセットアップしよう

いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは? 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

開発環境(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アプリケーション」のいずれかから選択できます。

ASP.NET Coreのテンプレート
ASP.NET Coreのテンプレート

 ここでは、Webアプリケーションを選択します。

 なお「認証なし」を選択していますが、「認証の変更」ダイアログで「個別のユーザーアカウント」に変更すると「EntityFramework Core」を使うひな形が生成されます。興味ある方は変更してみると良いでしょう。

ASP.NET 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プロジェクトを最初に開いた時の動作に注目してみましょう。ソリューションエクスプローラの上部に「パッケージを復元しています」というメッセージが表示され、参照設定が自動的に解決されていることが確認できます。

ASP.NET Coreソリューションの起動時(パッケージ復元中)
ASP.NET Coreソリューションの起動時(パッケージ復元中)

 同時に出力ウィンドウには、以下のような内容が表示されています。

リスト1 Visual Studioで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における大きな変更点について紹介していきます。

次のページ
(1)ビルド/実行方法: .NET Coreの主要ツール「dotnetコマンド」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは?連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 青木 淳夫(アオキ アツオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9681 2016/12/14 10:40

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング