「Visual Studio for Mac 」で C# の環境構築「HelloWorld!」の出力まで

Bullet Group Advent Calendar 2020 12日目の記事です。

はじめまして。12月1日に入社したS_kudoと申します。 この度「Bullet Group Advent Calendar 2020」の12日目を担当する事となりました。

前職では「C#」を使用していた為、本記事ではMacでの「C#」の環境構築、「HelloWorld!」の出力までについて書こうと思います。 よろしくお願い致します。

以下は概要になります。

C#とは

C#は、マイクロソフトが開発したプログラミング言語です。 「C++」や「Java」などのオブジェクト指向型言語であり、 2002年1月にVer1.0 がリリースされました。

C#は「.NET Framework」というソフトウェア実行環境上で動作しており
「.NET Framework」は Windows にしか対応していない為、基本 C# の開発は Windows で行います。

では、Mac での開発はできないのか?と言うとそうでもありません。 「.NET Core」や「.NET Framework」の互換環境である「Mono」等によりWindows 以外にも Linux や macOS その他複数の OS での実行が可能となりました。

※「.NET Core」と「Mono」の概要ついては下記ご覧ください。

【.NET Core】 ja.wikipedia.org

【Mono】 ja.wikipedia.org

Macに「C#」の環境構築

前項記載の通りC# は複数の OS での実行が可能だとおわかり頂けたと思います。
では実際に Mac に環境構築をしてみようと言う事で、
今回は「Visual Studio for Mac」を使用し “HelloWorld !”を出力するコンソールアプリを作成していきます。

「Visual Studio for Mac」とは

調べてみましたが要約すると、「Mac用の.NET環境」みたいです。
.NETを使用したアプリ、ゲームなどの開発ができるようです。 別の方法で環境構築できますが、比較的簡単そうだったので選びました。
対応言語は「C#, F#, Razor, HTML5, CSS, JavaScript, TypeScript, XAML, XML」です。

Visual Studio for Mac インストール

では早速「Visual Studio for Mac」のインストローラをダウンロードしていきましょう。

下記、URLからダウンロードが可能です。

visualstudio.microsoft.com

URL先へ移動したらダウンロードしていきましょう。

f:id:S_kudo:20201204161511p:plain
ダウンロード画面

インストローラーが Finder の ”ダウンロード” フォルダに格納されますので実行します。

ウィンドウが表示されますので、中央のアイコンをダブルクリックします。 インストローラーが起動しインストールが開始されます。

f:id:S_kudo:20201204162640p:plain



AppStore経由ではないので警告が出ます。 特に問題はないので「開く」をクリックします。

f:id:S_kudo:20201204164232p:plain



「Visual Studio for Mac をダウンロードしていただき、ありがとうございます」と表示されますが、「続行」ボタンをクリックして下さい。

f:id:S_kudo:20201204164314p:plain



「何をインストールしますか?」と表示されます。

f:id:S_kudo:20201204164718p:plain

ご覧の通り「.NET Core」「Android」「iOS」「macOS(Cocoa)」等、様々なアプリが開発できそうです。 時間かかりそうだったので今回は「.NET Core」のみ選択しました。
※「iOS」アプリを選択した場合は「Xcode」のインストールも必要になります。

暫くすると、管理者のユーザー名とパスワードを要求されまますので、ユーザー名とパスワードを入力します。

f:id:S_kudo:20201204164942p:plain

後はインストール完了するまで待ちます。

インストールが完了したら下記画面が表示されます。 今回は「後で行う」を選択します。

f:id:S_kudo:20201204165137p:plain



次にキーボードのショートカットを選択する画面が出てきます。 今回はデフォルトのまま「続行」をクリックします。

f:id:S_kudo:20201204165205p:plain



下記画面が表示されたら完了です。

f:id:S_kudo:20201204165547p:plain


お疲れ様でした。 引き続き、コンソールアプリを作成しましょう。


コンソールアプリ作成

Visual Studio for Mac を起動しましょう。 下記画面が表示されたら新規をクリックします。

f:id:S_kudo:20201204165249p:plain



下記、画面が表示されると思います。
今回はコンソールアプリを作成するので「その他」から「.NET」を選択し、
「コンソールプロジェクト」を選択した後「次へ」をクリックして下さい。

f:id:S_kudo:20201204171632p:plain



下記、画面が表示されたら「プロジェク名」を入力しましょう。今回は「HelloWorld」にします。
① を記入すれば ② は自動的に反映されます。③ はプロジェクトのディレクトリが作成される場所です。
それぞれ記入、確認したら「次へ」をクリックします。

f:id:S_kudo:20201204171942p:plain



下記のような画面が表示されると思います。
確認してみるとデフォルトでコンソールに出力するプログラムが記述されているようです。
そのまま実行してみましょう。左上の赤枠で囲んでいる部分をクリックし実行します。

f:id:S_kudo:20201204172421p:plain



「HelloWorld!」と出力されましたね。

f:id:S_kudo:20201204172825p:plain



赤枠で囲んでいる箇所で「Debug」「Release」を切替えて実行できます。

f:id:S_kudo:20201204173301p:plain



「Debug」と「Release」で実行したアプリケーションの格納先はそれぞれ異なります。

【Debug】 /Users/Home/projects/HelloWorld/HelloWorld/bin/Debug/HelloWorld.exe

【Release】 /Users/Home/projects/HelloWorld/HelloWorld/bin/Release/HelloWorld.exe


アプリの実行

では次に実際にターミナルでアプリを動作させてみましょう。 アプリは「Releace」配下にあるもので良いでしょう。 ターミナルで「HelloWorld.exe」が格納されているディレクトリへ移動します。

cd /Users/shotakudo/projects/HelloWorld/HelloWorld/bin/Release

f:id:S_kudo:20201204181432p:plain


「mono HelloWorld.exe」で実行します。

mono  HelloWorld.exe

f:id:S_kudo:20201204181543p:plain


表示されましたね。問題なさそうです。

f:id:S_kudo:20201204181623p:plain

最後に

Visual Studio for Mac を使用して「HelloWorld!」を出力しましたが、自分でも思った以上に手順が少なかった事に少し驚いています。(通信速度の影響で時間はかなりかかりました。。)

今回のコンソールアプリ以外にも C# は様々なアプリを開発することができます。 今後どのようになっていくのか楽しみですね。

長くなりましたが、最後まで読んでいただきありがとうございました。