SHOEISHA iD

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

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

特集記事

クラウド時代に最適化されるASP.NET vNextとは ~Visual Studio14(CTP4)とK Projectの紹介

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

KVMコマンドでKREを操作

 それでは、コマンドプロンプトを起動して次のコマンドを入力してみましょう(サンプルと違うパスに配置している場合は、適宜読み替えてください)。home-masterフォルダに移動したら、KVMコマンドを実行できます。

 なお、KVMの本体は「kvm.ps1(PowerShellファイル)」のため、事前に、管理者権限でPowerShellを起動し「Set-ExecutionPolicy RemoteSigned 」コマンドを実行してローカルスクリプトを実行できるようにしておいてください。

KVMコマンドでKREをインストール(コマンドプロンプト)
REM KVMがあるフォルダに移動
cd C:\CodeZine\home-master

REM KREをインストール (CoreCLR用)
kvm install 1.0.0-alpha4 -runtime CoreCLR

REM KREをインストール(DesktopCLR用)
kvm install 1.0.0-alpha4 -runtime CLR

REM KERインストール(AMD64Bitの場合)
;; kvm install 1.0.0-alpha4 -amd64 -runtime CoreCLR
;; kvm install 1.0.0-alpha4 -amd64 -runtime CLR

REM 最新KREへのアップグレードコマンド例
;; kvm upgrade -runtime CoreCLR

REM インストール済みKREの一覧表示と切り替え例
kvm list
kvm use 1.0.0-alpha4 -x86 -runtime CoreCLR
KVMコマンドの実行結果例(KREインストール、KRE一覧表示、KRE変更)
KVMコマンドの実行結果例(KREインストール、KRE一覧表示、KRE変更)

kvm installコマンドでKREのインストール

 KVMの構文は「kvm install KREのバージョン アーキテクチャ(-x86か-amd64) -runtime ランタイム(CoreCLRかCLR) 」です。CLR指定で通常の「ASP.NET 5.0(DesktopCLR)」となり、CoreCLR指定で「ASP.NET Core 5.0(CoreCLR)となります。

 KVMコマンドのinstallオプションを実行すると、関連ライブラリが「C:¥Users¥<ユーザー名>¥.kre¥」フォルダにダウンロードされます。そしてコマンド(K、KLR、KPMコマンド)が配置されるフォルダ「C:¥Users¥aoki¥.kre¥packages¥<KREのアーキテクチャとバージョン>¥bin」にPATHを設定してくれます。

kvm upgradeコマンドでKREのアップグレード

 「kvm upgrade」コマンドで、KREの最新バージョンを取得することができます。現在のバージョンはそのまま残り、最新バージョンが追加され、最新バージョンにPATHが設定されます。

kvm listコマンドで使用するKREの変更

 インストールされたKREの一覧を確認するには「kvm list」コマンドを使用します。現在使用中のKREの先頭にはアスタリスクが表示されます。使用するKREを変更する場合は「kvm use バージョン名」というコマンドを使用します。

 なお、KVMとKREをアンインストールは物理フォルダを削除します。

GitHubで開発されているASP.NETプロジェクト

 現在、GitHubのASP.NETのページでは、40を超える数のサブプロジェクトが開発されています。KRuntime、Kvm、MVC、Identity、Caching、EntityFrameworkといった主要プロジェクトから、MusicStore、BugTrackerといったサンプルまで幅広いプロジェクトがありますので、興味を持たれた方は覗いてみてはいかがでしょうか。

vNextアプリケーションの実行

 KVMコマンドを使ってKREの管理ができたところで、アプリケーションを実行してみましょう。ここではsamplesフォルダに含まれるASP.NET MVCのサンプルを実行してみます。

KPMとKコマンドでvNextアプリを実行(コマンドプロンプト)
REM サンプルがあるフォルダに移動
cd C:\CodeZine\Home-master\samples\HelloMvc

REM KPMコマンドで依存アセンブリをダウンロード
kpm restore

REM KコマンドでWebサーバーを起動
k web
k webコマンドで起動したサンプルアプリケーション(IIS Express未使用)
k webコマンドで起動したサンプルアプリケーション(IIS Express未使用)

 ASP.NET MVCアプリケーションが無事実行されました。今回、使用したコマンドについて確認してみましょう。

アセンブリのダウンロード(KPMコマンド)

 KPMは、KパッケージマネージャでvNextアプリケーションのパッケージを管理するコマンドです。Project.jsonがあるフォルダで「kpm restore」コマンドを実行すると、Project.jsonの内容に従ってDLLを取得します。ここでは、MyGetから「C:¥Users¥<ユーザー名>¥.kpm¥packages」フォルダにアセンブリをダウンロードしています。なお、KPMコマンドにpackオプションを付けることでAzure WebSiteへデプロイするパッケージを作成することができます。

アプリケーションの実行(Kコマンド)

 vNextアプリケーションはKコマンドにて起動します。KPMコマンドと同様にProject.jsonがあるフォルダにてKコマンドを実行します。「k run」という標準引数でスタティックのMainメソッドを呼び出すことができます。

 このサンプルでは「k web」というように「web」という引数を付与してWebサーバーを起動しています。Kコマンドの引数はProject.jsonにCommand定義していれば、「k <指定したコマンド>」のように独自コマンドを呼び出すことができます。

 以上、Visual Studioを利用することなく、コマンドプロンプトの操作だけで、vNextアプリケーションを簡単に実行できることをご理解頂けたと思います。

vNextで採用されているテスティングフレームワーク「xUnit.NET」

 Visual Studioが動作しないMacやLinuxでもテストできるように、vNextでは「xUnit.NET」が標準のテスティングフレームワークとして採用されています。xUnit.NETはNUnitとMsTestの開発に携わったBrad Wilson氏とJames Newkirk氏が作成した新しいオープンソースのテストツールです。[Test]や[Fixture]ではなく、[Fact]という属性を付与することが特徴です。

最後に

 以上、本稿ではASP.NET vNextについて紹介してきました。次世代のASP.NETは、オープンで柔軟性が高い基盤として提供されます。Windows開発者向けという印象が強かったASP.NETですが、今後は他の開発者でも使いやすくなります。従来のWebFormやMVCについてもvNextでは互換性のサポートをする模様ですので、興味を持たれた方は試してみてはいかがでしょうか。

ASP.NET vNextのポイント
ASP.NET vNextのポイント

参考資料

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

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

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング