以下の二つの方法を紹介する.

後者は,仮想端末での作業に抵抗がなくかつ好みのエディタ(VSCode,Emacs,Viクローン等)を使用したい人にはおススメである.本ページではLinuxにおける環境の構築法については述べない.

なお,このページで紹介している方法ではF#演習のための環境構築にもなっている. C#演習の第5週・第6週目の課題を進めるにはさらなる準備(別ページ)が必要である(こちらはC#演習分のみ).

(本ページに掲載されているスクリーンショットは,マイクロソフトの許諾を得て使用しています.)

Visual Studioのインストール

Windows編

インストール中はネットワーク接続が必要なことに注意する.

  1. Visual Studio 2022のページにおいて「Visual Studioのダウンロード」にマウスポインタを合わせるといくつかの項目が表示される.その中の「Community 2022」を選択し,Visual Studio Community 2022をダウンロードする.

すると VisualStudioSetup.exe というファイルがダウンロードされる.

  1. ダウンロードしたファイルを実行する.「続行」を押す前にライセンス条項には目を通しておこう.

    1. 途中でインストールする項目が聞かれるので,「ワークロード」タブにある「.NETデスクトップ開発」をチェックし,その「インストール詳細」から 「F# デスクトップ言語のサポート」にもチェックを入れる.7.8 GB弱のディスク容量が必要となる.

    image

  2. 「インストール」ボタンを押してインストールを完了させる.2.2 GBほどのダウンロードが生じるので高速なネット回線が利用可能なところで行おう.

  3. 起動時にいろいろ聞かれるが適当に答えたのでよい(サインインのアカウントも好きなものでよいし,設定しなくてもよい).インストールが終了すると自動的にVisual Studio Community 2022が起動され,以下の画面が表示される.インストーラのウィンドウのほうは閉じてOK.

    image

  4. 動作確認もしておこう.

    1. 上記で「新しいプロジェクトの作成」を選ぶ.

    2. テンプレート選択画面で,C#の「コンソール アプリケーション」を選ぶ.

      image

    3. プロジェクト名とソリューション名を聞かれるので適当に入力する.たとえば,どちらも HelloWorldCS にしたのでよい(CSはC#の気持ち).

      Note

      プロジェクトは一つの実行形式やライブラリを作成するためのコード等を全てまとめたものであり,ソリューションは関連するプロジェクトをまとめたもの(参考:What are solutions and projects in Visual Studio?).あえて英語版にリンクしたのは,日本語版だと"a project contains all files that are compiled into an executable, library, or website"の"a"や"an"がうまく訳出されていないように感じたため.

      image

    4. フレームワークを選んで「作成」する.ここではデフォルトのままでよい.

      image

    5. エディタで Program.cs が開かれた状態になる.

      image

    6. コードを実行するには上のツールバーの真ん中あたりにある「▶ HelloWorldCS」と書かれたボタンを押す.すると,ビルドが行われ実行形式が作成された後にその実行形式が実行される.ビルド時の出力等が表示された後に,「Microsoft Visual Studio デバッグコンソール」に Hello, World! と表示されればOK.

      image

    7. F#でも同様であることを確認しておこう(新しいプロジェクトを作成する際のテンプレートを選ぶ場面で,「すべての言語」を「F#」に変更し,「コンソール アプリケーション」を選べばよい).

      Note

      もし以上のとおりやった上でF#でのビルドに失敗し,「パッケージ FSharp.Core が見つかりません。ソース Microsoft Visual Studio Offline Packages には、この ID のパッケージが存在しません。」というエラーメッセージが出る場合は,コマンドライン(WindowsだとPowerShellか「コマンド プロンプト」を利用)から

      dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

      を実行する.あるいは,以下の「.NET SDKのインストール (Windows/Mac ほぼ共通)」の手順1~4を読みSDKをインストールするとよい.(それでも直らなければ,教員・TAに質問をしてください.)

Mac編

インストール中はネットワーク接続が必要なことに注意する.

  1. Visual Studio 2022のページより「Visual Studio for Macをダウンロード」をたどり,Visual Studio 2022 for Macをダウンロードする.

    すると visualstudioformacpreviewinstaller-17.5.0.124.dmgみたいな名前のファイルがダウンロードされる(数字の部分はダウンロードするタイミングによって違うかもしれない).

  2. Dock上の「ダウンロード」から上のファイルをクリックする(あるいはFinderでダブルクリックすると),どでかいアイコンが表示されたウィンドウが表示されるので,アイコンをダブルクリックしてインストールを開始する.

  3. 「“Install Visual Studio for Mac.app”はインターネットからダウンロードされたアプリケーションです。開いてもよろしいですか?」と聞かれるので,「開く」.

  1. すると「ダウンロード」以下のファイルにアクセスしてよいか聞かれるが,許可する.
  2. その後「Visual Studio for Mac をダウンロードしていただき、ありがとうございます」と書かれた画面が表示される.ライセンス条項を確認し問題なければ「続行」を選んでインストールを続ける.
  1. 「何をインストールしますか?」と聞かれる.「.NET」だけ選べば十分.

  2. あとは,画面に従ってインストールを完了させる(数十分ほど時間がかかるかもしれない).また,何度かパスワードが聞かれる.

    image

  3. 上で「完了時にVisual Studio Previewを開く」をチェックしていたら(なにもしていなければそうなっているはず),インストールが終了すると自動的にVisual Studio 2022 for Macが起動される.起動時にいろいろ聞かれるが適当に答えたのでよい(サインインのアカウントも好きなものでよいし,設定しなくてもよい).最終的に「Visual Studio 2022 for Mac」と書かれたウィンドウが表示される.

image

  1. 動作確認もしておこう.

    1. 上記のウィンドウ(一旦Visual Studioを閉じても,また起動すれば上記が表示される)で「新規」を選択する.

    2. テンプレート選択画面で「コンソールアプリケーション」を選ぶ.

      image

      • C#/F#の部分は使用する言語を選ぶ.両方の言語について動作確認しよう.
    3. ターゲットフレームワークを聞かれるので適当に選ぶ.

      image

    1. プロジェクト名とソリューション名を聞かれるので適当に入力する.たとえば,どちらも HelloWorldCS にしたのでよい(CSはC#の気持ち).

      Note

      プロジェクトは一つの実行形式やライブラリを作成するためのコード等を全てまとめたものであり,ソリューションは関連するプロジェクトをまとめたもの(参考:What are solutions and projects in Visual Studio?).

      image

    2. エディタで Program.cs が開かれた状態になる.

      image

    3. コードを実行するには左上のほうにある▶ボタンを押す.すると,ビルドが行われ実行形式が作成された後にその実行形式が実行される.ビルド時の出力等がされた後に以下のように「Terminal」/「ターミナル」に Hello, World! と表示されればOK.

      image

      • 右下の「ターミナル - HelloWorldCS」(HelloWorldCSの部分は具体的なプロジェクト名に置き換える)の上にマウスカーソルを合わせる必要があるかもしれない.いちいちマウスオーバーするのが面倒臭いのであれば右上の📌の形のボタンを押して(あるいは,ドロップダウンメニューから「ドッキング」を選択して)位置を固定しておくとよい.
        • 元のマウスオーバすると「枠」がポップアップする設定に戻すには📌を再び押すか,ドロップダウンメニューから「自動的に隠す」(「ドッキング解除」ではない)を選択する.

      Note

      2023/04/12 Xcode コマンドラインツールが原因でビルドに失敗することがある模様.以下を試みるとよいかもしれない.

      • Xcode コマンドラインツールのライセンスに同意する(ビルドメッセージにその旨が表示されているかも)
      • Xcode コマンドラインツールを更新する(もし「システム設定」の「ソフトウェアアップデート」に表示されているなら)
    4. 上記の動作確認はC#/F#の両方について行おう.

    Note

    もし以上のとおりやった上でF#でのビルドに失敗し,「パッケージ FSharp.Core が見つかりません。ソース Microsoft Visual Studio Offline Packages には、この ID のパッケージが存在しません。」というエラーメッセージが出る場合は,コマンドライン(MacだとTerminal.app)から

    dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

    を実行する.あるいは,以下の「.NET SDKのインストール (Windows/Mac ほぼ共通)」の手順1~4を読みSDKをインストールするとよい.(それでも直らなければ,教員・TAに質問をしてください.)

Note

Visual Studio for Mac をアンインストールする場合には,アプリケーションフォルダから当該アイコンをゴミ箱に入れるだけでは不十分である.完全にアンインストールするには公式のアンインストール手順に従ってアンインストールする必要がある.

.NET SDKのインストール (Windows/Mac ほぼ共通)

Visual Studioに含まれているので,上記を行っている場合は以下を行う必要はない.

  1. .NET SDKのダウンロードページより,software development kit (SDK)をダウンロードする.

    • Windowsの人はWindows版のSDKをダウンロードする.
    • Mac版についてはいわゆるintel MacとM1 Macではダウンロードすべきものが違うので注意.前者はx64版を後者はArm64版をダウンロードしよう.
  2. ダウンロードしたインストーラを実行し,指示に従ってインストールを完了する.

    • Windows版ならdotnet-sdk-6.0.407-win-x64.exeみたいな名前
    • Macのx64版ならdotnet-sdk-6.0.407-osx-x64.pkg みたいな名前
  3. ターミナル(WindowsだとPowerShellか「コマンド プロンプト」,MacだとTerminal.appやiTerm.app)を開き,以下を実行する.

    dotnet --list-sdks

    以下は私の環境における出力だが,このようにダウンロードしたSDK(6.0.XXX)が表示されたらばOK.

    6.0.400 [/usr/local/share/dotnet/sdk]
    6.0.407 [/usr/local/share/dotnet/sdk]
    7.0.202 [/usr/local/share/dotnet/sdk]
  4. 動作確認もしておこう.

    1. 適当なディレクトリに移動して以下を実行する.

      dotnet new console -o HelloWorldCS 
    2. HelloWorldCS というディレクトリができているので,そこに移動する.

      cd HelloWorldCS 

      中身をlsで確認してみよう.たとえば,Macだと以下のように表示される(Windowsだと lsdir の別名なので,表示は多少異なる).

      HelloWorldCS.csproj  Program.cs           obj/

      プログラムを書くには, Program.cs を変更すればよい.現時点では Program.cs の中身は以下の通りである.

      // See https://aka.ms/new-console-template for more information
      Console.WriteLine("Hello, World!");
    3. 以下をを実行してビルドする.

      dotnet build
    4. 以下を実行してビルドしたプログラムを実行する.

      dotnet run 

      すると,"Hello, World!"が表示されるのが確認できるはずだ.

    5. F#でも同様であることを確認しておこう(dotnet newを実行する場面で,dotnet new console -o HelloWorldCS の代わりに dotnet new console -lang "F#" -o HelloWorldFS とする.また,このコマンドだとHelloWorldCSではなくHelloWorldFSというディレクトリが作成される)