LoginSignup
6
6

More than 5 years have passed since last update.

Amazon Cloud9 で .NET Core を動かしてみた

Posted at

Amazon Cloud9 で .NET Core を動かしてみた

Cloud9 とは

Cloud9 とは Webブラウザだけで使用できる Web IDE というやつです。2016年に Amazon に買収され、AWS Cloud9 として AWS に統合されました。
個人的な感想としてはちょっとした Lambda や CLIツールなどを開発するのには良いかもしれません。あと、コードやターミナルの共有がリッチなのでチャットしながらコードレビューとかの使いようもあるかも。
不満な所は 対応言語 の表にあるように、実行からデバッグまでフルサポートされている言語は C++, Go, Node.js, PHP, Python のみというのと、せっかく Lambda と相性抜群なのに Lambda連携が同リージョンしかサポートされておらず、日本リージョンとは連携できない所とかですね。

Cloud9環境に .NET Core をインストールする

Cloud9 は実際の所 Amazon Linux の EC2インスタンスにフロントエンドとして乗っかっている形で、普通にターミナルからインストールできると思いましたが・・・
ここ に載っている方法だと途中でエラーが出ます。

$ sudo yum install dotnet-sdk-2.1.105
...
Error: Package: dotnet-runtime-2.0.7-2.0.7-1.x86_64 (packages-microsoft-com-prod)
           Requires: openssl-libs
Error: Package: dotnet-runtime-deps-2.1.0-preview2-26406-04-2.1.0_preview2_26406_04-1.x86_64 (packages-microsoft-com-prod)

AMI はサポート対象に入っていないらしい・・・
tar.gz を直接落としてきて入れると大丈夫らしいので結局インストール方法は以下のような手順になります。

$ sudo yum install libunwind libicu libcurl

$ wget https://download.microsoft.com/download/2/E/C/2EC018A0-A0FC-40A2-849D-AA692F68349E/dotnet-sdk-2.1.105-linux-x64.tar.gz
$ mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.1.105-linux-x64.tar.gz -C $HOME/dotnet

ターミナルで ~/dotnet/dotnet -v とやってバージョン情報が出ればOKです。

Runner を作成する

new-runner.png

一度適当なプログラムを書いて Run を実行すると実行ペインが出現します。
実行ペインの Runner を押すと有効な Runner の一覧と作成・編集のメニューが出るので、"New Runner" を選択します。

{
  "cmd": [
    "dotnet",
    "run",
    "$file_path",
    "$args"
  ],
  "info": "Started $project_path$file_name",
  "env": {
    "PATH": "$PATH:~/dotnet"
  },
  "selector": "source.cs"
}

こんな感じで Runner を作成し、CSharp.runとでも名前を付けて保存しましょう。

試してみる

コンソールを開いて C# のコンソールアプリをテンプレートから作成します。

$ ~/dotnet/dotnet new console

Program.cs を開き、Run ボタンを押します。

cs-run.png

動きました。これでブラウザしか使えない環境でもC#のプログラムが書き放題ですね!(そもそもAzureでAppEditor使えよとかいうのはナシでお願いします)

6
6
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
6
6