10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacでASP.NET

Last updated at Posted at 2015-07-10

環境づくりメモ。基本はここの通りやるだけ。

前提

  • brewを入れておく(brew update, brew upgradeをしておく)
  • node.jsを入れておく(できれば最新版をインストールする)

前提知識

実行環境の構築

ASP.NETを実行するには、ランタイムが必要である。それはdnxという。それをインストールするためにdnvm(dot net version manager)というのをインストールする。

ASP.NETのひな形取得環境を作る

ASP.NET(MVC)は0からゴリゴリ書くものではなく、ひな形をベースにする。WindowsならばVisualStudioが作ってくれるが、Macにはそんなものがないので、yeomanというひな形作成ツールをインストールする。
yeomanは、1つのツールではなく、grunt,bower,yoが組み合わさったものである。

開発環境のインストール

MacでASP.NETの開発は、Sublime Textとかでも行えるが、ここでは、Visual Studio Codeを使う。

いろいろインストール

dnvmをインストール

dnvmは、dot net version managerで、vmのバージョンを管理するためのツール。

brew tap aspnet/dnx
brew install dnvm
dnvm list

とすることで、インストールされているバージョンを見ることができる。また、

dnvm upgrade

とするとこで、最新のバージョンが入る(はず)。

yeomanをインストール

sudo npm install -g yo grunt-cli generator-aspnet bower

時が過ぎるとgenerator自体が古くなるが、generatorのupdateは、yoコマンドを実行すればその中のメニューから選べる。
但し、パーミッションエラーが起きる時があるので、その際は、

sudo chown -R /usr/local
sudo chown -R ~/.npm

とする。

せっかくなのでVisual Studio Code (VSC)をインストール

ダウンローどして、展開するだけ。

環境設定

.bash_profileに以下を追加

# for dnvm
export MONO_GAC_PREFIX="/usr/local"
export MONO_MANAGED_WATCHER=false
source dnvm.sh

# for vsc
vsc () {
    if [[ $# = 0 ]]
    then
        open -a "Visual Studio Code"
    else
        [[ $1 = /* ]] && F="$1" || F="$PWD/${1#./}"
        open -a "Visual Studio Code" --args "$F"
    fi

source .bash_profileを実行。
VSCの起動コマンドをcodeとしている人が多いけど、vscとする。
なお、現状、VSCを起動した状態でvsc . 等としても、ファイルを展開してくれないようだ。

ASP.NETのプロジェクトを作って実行

asp.net webapplicationのテンプレートを取得(作成)する。

yo aspnet

とすると、いろいろ聞いてくる。

  • 最初の起動時の質問はYを選択。
  • いろいろあるテンプレートからWebApplicationを選択する。
  • プロジェクト名を聞いてくるので、WebAppとか適当に入れる。

yo aspnetは

yo aspnet:MvcController

等の、サブジェネレーターコマンドもある。詳しくはここ

dnu restoreでWebAppの実行に必要なものを取ってくる

実行したディレクトリにWebAppフォルダが作られるので、その中に移動し、dnu restoreを実行。
そうすると、いろいろ必要なものを取得してくれる。

cd WebApp
dnu restore

dnu restoreは、project.jsonのdependenciesを見てるみたい。なので、更新したら、再度 dun restore する必要があるのだと思う。

dnuには他にもいろいろと便利コマンドがある。詳しくはここ

VSCでプロジェクトを開く

vsc .

とすることで、VSCでプロジェクトが開ける(ただ、カレントを開いてるだけですが)。
本当はここでいろいろと編集。

プロジェクトを実行

VSCでshift + command + pでVSCのコンソールを表示させ、kestrelとうつ。それか、普通のコンソールで、

dnx . kestrel

とする。kestrelは、dnx上で動くWebサーバ。チョウゲンボウに馴染みのある私にとってはいい名前。

localhost:5000とかを見ると、APS.NETのテンプレートファイルが表示されるが、このときのURL(ポート)は、プロジェクトの中のhosting.iniファイルの中で設定されている(大元はproject.jsonだが、外部ファイルを参照するようになっている)。

その他の参考

*http://www.dotnetcodegeeks.com/2015/06/develop-and-deploy-asp-net-5-apps-on-mac-os-x.html

10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?