KVMコマンドでKREを操作
それでは、コマンドプロンプトを起動して次のコマンドを入力してみましょう(サンプルと違うパスに配置している場合は、適宜読み替えてください)。home-masterフォルダに移動したら、KVMコマンドを実行できます。
なお、KVMの本体は「kvm.ps1(PowerShellファイル)」のため、事前に、管理者権限でPowerShellを起動し「Set-ExecutionPolicy RemoteSigned 」コマンドを実行してローカルスクリプトを実行できるようにしておいてください。
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 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のページでは、40を超える数のサブプロジェクトが開発されています。KRuntime、Kvm、MVC、Identity、Caching、EntityFrameworkといった主要プロジェクトから、MusicStore、BugTrackerといったサンプルまで幅広いプロジェクトがありますので、興味を持たれた方は覗いてみてはいかがでしょうか。
vNextアプリケーションの実行
KVMコマンドを使ってKREの管理ができたところで、アプリケーションを実行してみましょう。ここではsamplesフォルダに含まれるASP.NET MVCのサンプルを実行してみます。
REM サンプルがあるフォルダに移動 cd C:\CodeZine\Home-master\samples\HelloMvc REM KPMコマンドで依存アセンブリをダウンロード kpm restore REM KコマンドでWebサーバーを起動 k web
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アプリケーションを簡単に実行できることをご理解頂けたと思います。
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では互換性のサポートをする模様ですので、興味を持たれた方は試してみてはいかがでしょうか。
参考資料
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
WINGSプロジェクト 青木 淳夫(アオキ アツオ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 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本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



