RHEL 7 で.NET Core 1.0の開発環境を整える

Red Hat Enterprise Linux 7へ.NET Core 1.0をインストールし、開発環境を整えるまでを説明します。

ゴールは以下となります。

  1. .NET Core 1.0のインストール。
  2. node.js, yeomanのインストールし、generator-aspnetでプロジェクトを作成できるようにする。
  3. Visuaul Studio Codeのインストール し、C#のコードを編集できるようにする。

.NET Core 1.0のインストール

資料: Chapter 1. Install .NET Core 1.0.0 on Red Hat Enterprise Linux – Red Hat Customer Portal

基本的に上資料の方法で進めていけば問題ありません。

RHELのサブスクリプションが登録されている前提で、まずsuで、rootに入って、使用中のシステムで使用可能なすべてのサブスクリプションのリストを表示し、.NET Coreのリポジトリへのアクセスを提供するサブスクリプションのプールIDを表示させます。

ここでUUID(GUID)のpool IDが表示されるので、それを登録します。

つづいて、.NET Coreのリポジトリが登録されているか、次のコマンドで確認します。

下図の様に.NET Coreのリポジトリが登録されていれば問題ありません。

Capture_2016_07_02_1607_1

RHEL 7向けの.NET Core channelを有効にします。

sclツールをインストールします。

一度yum upgradeで全体的にアップグレードします。

.NET Core 1.0とその関連コンポーネントをインストールします。

以上でインストール完了。suから抜けます。

.NET Core 1.0環境を有効にするためには以下のようにsclコマンドで有効にします。

毎回これを入力するのは面倒なので.bashrcにaliasを登録しておくのが良いと思います。

例:

以下のようにして、.NET Core 1.0がインストール出来ているか確認しましょう。

では、動作検証を含めて、Hello Worldアプリを作ります。

ここまで来れば、.NET Core 1.0のインストールは完了です。

node.js, yeomanのインストール

node.js 4のインストール

Visual Studioがあれば、簡単にプロジェクトテンプレートを作ることができますが、RHELでは残念ながら動作しないので、node.jsで動作するスキャフォールディングツールであるyeomanのgenerator-aspnetを使って.NET Coreアプリケーションのプロジェクトテンプレート作成等を出来るようにしたいと思います。

まずは、yeomanをインストールし、動作させるためにnode.jsのインストールが必要なのですが、以下手順にてnode.js 4.4のインストールを行ってください。

Software Collections – Get started developing with Node.js v4 on RHEL 7

手順の日本語簡約は省きますが、.NET Coreでの手順と大体一緒なので見ていただければ判ると思います。

nodejsも毎回sclコマンドを入力するのは面倒なので、aliasを.bashrcに加えておきましょう。

例:

yeoman, generator-aspnetのインストール

npmコマンドで必要なものをグローバルにインストールします。suで作業します。

ここでもsclコマンドでの環境設定が必要なので、面倒なのでrootの.bashrcでもaliasを加えておくのが良いでしょう。

suは抜けます。

では、yeomanとgenetor-aspnetを使って、ASP.NET coreのアプリケーションを作成します。

sclコマンドでnode.jsと.NET Coreを有効にし、yo aspnetで、アプリケーションの雛形を作成します。

Web Applicationを選択します。

Bootstrapを選択する。

アプリケーション名を確認されるので、ここではhwwebとします。

あとは書いてある手順どおりです。

これで実行ファイルのセルフホストでWEBアプリケーションが起動しました。

Screenshot from 2016-07-02 17-06-51

yeoman, generator-aspnetのインストールは以上です。

Visuaul Studio Codeのインストール

これでプロジェクトテンプレートからプロジェクトを作成し、アプリケーションを実行する環境を構築することができたので、あと必要なのはコードを編集し、デバッグする環境です。

もちろん、vim, emacsでの開発も行えますが、ここではVisual Studio Codeを使っていきたいと思います。

残念ながらyum install一発でインストールはできないので、以下からrpmをダウンロードします。

https://code.visualstudio.com/Download

ダウンロードしたら、ターミナルでダウンロードしたディレクトリに移動し、以下の要領でインストールします。

インストールが終われば、ターミナルでcodeとタイプすれば、Visual Studio Code(VS Code)が起動します。

次に起動したVS Code状でF1キーを押し、コマンドパレットが起動したら、下図のように拡張機能のインストールを選択してC#拡張を選択してインストールします。

Screenshot from 2016-07-02 17-22-04

インストール後再起動が促されるので、再起動し、VS Codeは一旦終了します。

先程作成したWEBアプリケーションのディレクトリに移動し、今度は’code .’と.をつけてVS Codeを起動します。

Screenshot from 2016-07-02 17-28-41

今度は左側にディレクトリのファイルやサブディレクトリが表示されています。その中からProgram.csを選択し、う絵図にあるように、28行目にブレークポイントを設定します。ブレークポイントの設定は行番号の左側をクリックします。

この状態でF5キーを押してデバッグ実行します。プルダウンが出てくるので、.NET Coreを選択します。

すると、設定ファイルを編集しろと言う内容のメッセージが表示されて、launch.jsonファイルが表示されるので、必要な箇所を編集します。編集が必要なのは9行目と20行目で、デバッグ対象となるエントリーポイントのあるdllファイルを指定する必要があります。

私の例では以下のようになります。

以上編集し、保存した後、再度F5キーでデバッグ実行しようとすると、今度はタクランナーがないとメッセージが出てきて、作成を選ぶと対象環境がプルダウンで出てくるので、ここでも.NET Coreを選択します。すると以下のtask.jsonが表示されますが、特に編集は必要ないのでそのまま保存します。

再度F5実行すると今度こそデバッグ実行が走り、下図の様に設定したブレークポイントで止まります。

Screenshot from 2016-07-02 17-50-54

変数の確認や、スタックトレースの確認も出来ます。

VS Codeでの編集機能についてはここでは書きませんが、インテリセンスやコードレンズ機能も使用でき非常に多機能です。詳細はVS Codeのサイトで確認してください。

VS Code以外

vimやemacs、ATOM等でC#/.NET Coreの編集環境を構築するためのomnisharpと言うプロジェクトがあります。これらのエディタを使用されている方は、以下のomnisharpのページを確認してみてください。

http://www.omnisharp.net/

まとめ

RHELでもWindows & Visual Studio並みとは行かないまでも、それなりに開発環境を整えることがおわかり頂けたかと思います。導入の煩雑さも他の言語と大きく変わることは基本的にありません。Red Hatのサポートもありますし、Red Hatでのアプリケーション開発時の選択肢として.NET/C#も十分考慮の対象になるのでは無いかと思います。

コメントを残す