MacでC#を始める完全ガイド|開発環境の作り方から実行方法まで

はじめに

MacでC#を始めたいと思ったとき、「C#はWindows向けの言語では?」「Visual Studioがないと開発できないのでは?」と不安になる人は多いです。しかし現在のC#開発は、Windowsだけに限定されていません。.NETはWindows、Linux、macOSで利用できるクロスプラットフォームな開発環境であり、MacでもC#の学習、コンソールアプリ開発、Webアプリ開発、Unity開発などを進められます。

この記事では、MacでC#を始めるために必要な開発環境の作り方から、VS Codeの設定、C#プログラムの作成、実行、デバッグ、よくあるエラーの対処法までを順番に解説します。はじめて「csharp mac」で開発環境を調べている方でも、この記事の手順に沿って進めれば、Mac上でC#を実行できる状態まで到達できます。

1. MacでC#開発はできる?最初に知っておきたい結論

1-1. MacでもC#は問題なく開発・実行できる

結論から言うと、MacでもC#は問題なく開発・実行できます。C#は.NET上で動く代表的なプログラミング言語で、現在の.NETはmacOSにも対応しています。Microsoft公式の.NETダウンロードページでも、macOS向けにIntel Mac用のx64版、Apple Silicon用のArm64版SDKが提供されています。

MacでC#を使う場合、基本的には次のような流れになります。

まず.NET SDKをMacにインストールし、ターミナルでdotnetコマンドを使えるようにします。そのうえで、VS CodeやJetBrains Riderなどのエディター・IDEを使ってC#のコードを書き、dotnet runやデバッグ機能で実行します。

つまり、MacでC#を始めるためにWindows PCを用意する必要はありません。学習目的であれば、Macだけで十分に始められます。

1-2. MacでC#を始めるために必要なもの

MacでC#開発を始めるために最低限必要なものは、次の3つです。

1つ目はMac本体です。Intel Macでも、M1・M2・M3・M4などのApple Silicon Macでも開発できます。

2つ目は.NET SDKです。SDKには、C#コードをビルドしたり、プロジェクトを作成したり、アプリを実行したりするためのツールが含まれています。Microsoftのダウンロードページでは、SDKはアプリのビルドと実行に必要なものとして説明されています。

3つ目はコードを書くためのエディターです。初心者にはVS Codeがおすすめです。VS CodeにC# Dev Kitを入れると、補完、エラー表示、デバッグ、プロジェクト管理などが使いやすくなります。VS Codeの公式ドキュメントでも、C#開発に必要なツールとしてVisual Studio Code、C# Dev Kit、.NET SDKが案内されています。

1-3. Windows版Visual StudioとMac環境の違い

C#と聞くと、Windows版Visual Studioをイメージする人が多いかもしれません。Visual StudioはC#開発に非常に強い統合開発環境ですが、現在のVisual StudioはWindows用IDEとして案内されています。Microsoft Learnでも、Visual StudioはWindows用の統合開発環境であり、クロスプラットフォームの軽量エディターとしてはVisual Studio Codeが案内されています。

MacでC#開発をする場合、Windows版Visual Studioと同じ画面・同じ機能をそのまま使うのではなく、主に次のような環境を選びます。

無料で始めたい場合は、VS CodeとC# Dev Kitの組み合わせが定番です。軽量で、C#の学習や.NETアプリ開発に十分対応できます。

本格的なIDEを使いたい場合は、JetBrains Riderが候補になります。Riderは有料ですが、コード補完、リファクタリング、テスト、デバッグなどが強力で、業務開発でもよく使われます。

Windows専用アプリや古い.NET Frameworkプロジェクトを扱う場合は、Mac単体ではなく、Windows環境を別途用意したほうがよいケースもあります。

1-4. Visual Studio for Mac終了後のおすすめ開発環境

以前はMac向けにVisual Studio for Macが提供されていましたが、Visual Studio for Macは2024年8月31日にサポート終了となりました。Microsoftは代替として、VS CodeとC# Dev Kitなどの利用を案内しています。

そのため、これからMacでC#を始めるなら、Visual Studio for Macを探すのではなく、次のどちらかを選ぶのがおすすめです。

初心者や学習目的なら、VS Code + C# Dev Kit + .NET SDKが最も始めやすいです。無料で使え、情報も多く、コンソールアプリやWeb APIの学習に向いています。

業務開発や大規模プロジェクトなら、JetBrains Riderも有力です。特に複数プロジェクトを含むソリューション、テスト、リファクタリングを多用する場合は快適です。

1-5. Intel MacとApple Silicon Macの違い

MacでC#を始めるときに注意したいのが、Intel MacとApple Silicon Macの違いです。

Intel Macはx64版の.NET SDKを使います。一方、M1、M2、M3、M4などのApple Silicon MacはArm64版の.NET SDKを使います。Microsoft公式の.NETダウンロードページでも、macOS向けに「x64(Intel)」と「Arm64(Apple Silicon)」のSDKが分けて提供されています。

間違ったアーキテクチャのSDKを入れても動く場合はありますが、パスの混乱や拡張機能の認識エラーにつながることがあります。Apple Silicon Macを使っているなら、基本的にはArm64版を選びましょう。

2. MacでC#を始める前に準備するもの

2-1. 対応しているmacOSの確認

最初に、使っているmacOSが.NET SDKの対象に入っているか確認しましょう。特に古いMacを使っている場合、最新の.NET SDKやVS Code拡張機能がうまく動かないことがあります。

Homebrew経由で.NET SDKを入れる場合、Homebrew Formulaeのdotnet-sdkページでは、インストール要件としてmacOS 12以降が示されています。 公式インストーラーを使う場合も、古すぎるmacOSではサポート外になる可能性があるため、できるだけ新しいmacOSに更新してから作業するのがおすすめです。

macOSのバージョンは、画面左上のAppleメニューから「このMacについて」を開くと確認できます。

2-2. .NET SDKとランタイムの違い

.NETをインストールするときに混乱しやすいのが、「SDK」と「ランタイム」の違いです。

C#で開発する人が入れるべきなのは.NET SDKです。SDKには、アプリを作成するためのテンプレート、ビルドツール、コンパイラ、実行に必要なものが含まれています。

一方、ランタイムは、すでに作られた.NETアプリを実行するためのものです。C#コードを書いてビルドしたい場合、ランタイムだけでは足りません。

初心者は迷わず「.NET SDK」をインストールしましょう。SDKを入れれば、基本的な開発に必要なコマンドがまとめて使えるようになります。

2-3. VS Code・C# Dev Kit・Riderの選び方

MacでC#を書くための環境は、主にVS CodeとRiderの2択です。

VS Codeは無料で軽量です。C# Dev Kitを追加すると、C#向けの補完、デバッグ、プロジェクト管理などが強化されます。C# Dev Kitは、既存のC#拡張機能を置き換えるものではなく、その上に機能を追加してC#開発体験を高める拡張機能として説明されています。

Riderは有料のIDEですが、最初から多くの機能が統合されています。大きなプロジェクトを扱う場合や、Visual Studioに近い本格的な開発体験を求める場合に向いています。

初心者がC#の文法を学ぶ段階では、VS Codeで十分です。仕事でC#を使う、UnityやWeb APIを本格的に開発する、複数プロジェクトを管理するという段階になったらRiderを検討するとよいでしょう。

2-4. ターミナルの基本操作

MacでC#を実行するときは、ターミナルをよく使います。最低限、次のコマンドを覚えておくとスムーズです。

Bash
pwd

現在いるフォルダを表示します。

Bash
ls

現在のフォルダ内のファイルやフォルダを表示します。

Bash
cd フォルダ名

指定したフォルダに移動します。

Bash
mkdir フォルダ名

新しいフォルダを作成します。

C#開発では、作業フォルダに移動してからdotnet new consoledotnet runを実行することが多いです。ターミナルに慣れていない人は、まずフォルダ移動とファイル確認だけでも練習しておきましょう。

2-5. Homebrewは必要か

Homebrewは、Macで開発ツールをインストール・管理するためによく使われるパッケージマネージャーです。Homebrew公式サイトでは、macOSに不足しているツールをインストールするための仕組みとして紹介されています。

ただし、C#を始めるだけならHomebrewは必須ではありません。Microsoft公式サイトから.NET SDKのインストーラーをダウンロードして入れれば、C#開発は始められます。

一方で、今後Node.js、Git、Docker、データベースなども使う予定があるなら、Homebrewを入れておくと便利です。開発ツールをコマンドでインストール・更新しやすくなります。

3. MacにC#開発環境をインストールする方法

3-1. .NET SDKを公式サイトからインストールする

最もわかりやすい方法は、Microsoft公式の.NETダウンロードページからインストーラーを取得する方法です。

公式サイトにアクセスし、macOS向けの.NET SDKを選びます。2026年6月時点では、.NET 10.0がLTSとして推奨され、SDK 10.0.300が公開されています。macOS向けにはIntel Mac用のx64版とApple Silicon用のArm64版が用意されています。

Intel Macの場合はx64版、M1以降のApple Silicon Macの場合はArm64版を選びます。ダウンロードした.pkgファイルを開き、画面の指示に従ってインストールします。

インストールが終わったら、ターミナルを開き直してdotnet --versionを実行します。バージョン番号が表示されれば成功です。

3-2. Homebrewで.NET SDKをインストールする

Homebrewを使っている場合は、次のコマンドでも.NET SDKをインストールできます。

Bash
brew install --cask dotnet-sdk

Homebrew Formulaeのdotnet-sdkページでも、インストールコマンドとしてbrew install --cask dotnet-sdkが案内されています。

Homebrewで入れるメリットは、更新が簡単なことです。次のように実行すれば、Homebrewで管理しているパッケージを更新できます。

Bash
brew update
brew upgrade

ただし、公式インストーラーで入れた.NET SDKとHomebrewで入れた.NET SDKが混在すると、パスがわかりにくくなることがあります。初心者は、まず公式インストーラーかHomebrewのどちらか一方に統一するのがおすすめです。

3-3. インストールできたか確認するコマンド

.NET SDKをインストールしたら、ターミナルで次のコマンドを実行します。

Bash
dotnet --version

現在使われる.NET SDKのバージョンが表示されます。

Bash
dotnet --info

インストール済みSDK、ランタイム、OS、アーキテクチャなどの詳細情報が表示されます。Microsoft Learnでも、dotnet --infoは.NETのインストール情報やコンピューター環境を出力するオプションとして説明されています。

さらに、インストール済みのSDK一覧を見たい場合は次のコマンドを使います。

Bash
dotnet --list-sdks

ランタイム一覧を見たい場合は次のコマンドです。

Bash
dotnet --list-runtimes

これらのコマンドが正常に動けば、MacでC#を開発する準備はかなり整っています。

3-4. 複数バージョンの.NET SDKを管理する方法

C#を学び始めたばかりなら、基本的には最新のLTS版SDKを1つ入れておけば十分です。ただし、既存プロジェクトを扱う場合は、.NET 8、.NET 9、.NET 10など複数バージョンのSDKが必要になることがあります。

複数のSDKが入っている場合、どのSDKを使うかはプロジェクトやglobal.jsonの設定によって変わります。特定のプロジェクトでSDKバージョンを固定したい場合は、プロジェクトのルートフォルダにglobal.jsonを置きます。

例として、.NET 10.0.300を使いたい場合は次のようにします。

Bash
dotnet new globaljson --sdk-version 10.0.300

作成されたglobal.jsonには、使用するSDKバージョンが記録されます。チーム開発では、全員が同じSDKバージョンでビルドできるようにするために便利です。

3-5. Apple Silicon Macで注意すべきポイント

Apple Silicon Macでは、Arm64版の.NET SDKを使うのが基本です。Intel版のターミナルやRosetta経由の環境を使っていると、x64版とarm64版が混在して、dotnetコマンドの参照先がわかりにくくなることがあります。

現在のターミナルがどのアーキテクチャで動いているか確認したい場合は、次のコマンドを実行します。

Bash
uname -m

arm64と表示されればApple Siliconネイティブ、x86_64と表示されればIntelまたはRosetta経由です。

Apple Silicon MacでC#開発をするなら、VS Codeも.NET SDKも基本的にArm64版でそろえましょう。これにより、パフォーマンス面でもトラブル回避の面でも安定しやすくなります。

4. VS CodeでC#を書くための設定

4-1. VS CodeをMacにインストールする

まず、Visual Studio CodeをMacにインストールします。VS Codeは軽量なコードエディターで、macOSでも使えます。.NET公式サイトでも、VS CodeはLinux、macOS、Windowsで使える無料のコードエディターとして紹介されています。

インストール後、アプリケーションフォルダにVS Codeを移動して起動します。はじめて使う場合は、日本語化拡張機能を入れてもよいですが、C#開発そのものには必須ではありません。

ターミナルからcodeコマンドでVS Codeを開きたい場合は、VS Codeを起動してコマンドパレットを開き、「Shell Command: Install 'code' command in PATH」を実行します。これで、作業フォルダから次のようにVS Codeを開けます。

Bash
code .

4-2. C# Dev Kitをインストールする

VS CodeでC#を書くには、C# Dev Kitをインストールします。

VS Code左側の拡張機能アイコンをクリックし、検索欄に「C# Dev Kit」と入力します。Microsoft提供のC# Dev Kitを選び、インストールします。VS CodeのC#公式ドキュメントでも、C#言語サポートはC# Dev Kit拡張機能で提供され、拡張機能ビューから「C# Dev Kit」を検索してインストールできると説明されています。

C# Dev Kitを入れると、関連するC#拡張機能や.NET Install Toolなども一緒に入ることがあります。インストール後はVS Codeを再起動すると認識が安定します。

4-3. C#拡張機能の違いと選び方

VS Codeには、C#関連の拡張機能がいくつかあります。代表的なのは、従来のC#拡張機能とC# Dev Kitです。

従来のC#拡張機能は、C#の基本的な言語サポートを提供します。一方、C# Dev Kitは、その上により統合的な開発体験を追加する拡張機能です。C# Dev Kitは、既存のC#拡張機能を置き換えるのではなく、機能を追加してC#開発体験を高めるものと説明されています。

初心者は、まずC# Dev Kitを入れれば問題ありません。コンソールアプリ、クラスライブラリ、テストプロジェクト、Webアプリなど、一般的な.NETプロジェクトを扱いやすくなります。

ただし、軽量な環境にしたい人や、最小限の拡張機能だけで運用したい人は、従来のC#拡張機能だけを使う選択肢もあります。

4-4. コード補完・エラー表示・デバッグを有効にする

C# Dev Kitを入れたら、.csprojファイルを含むプロジェクトフォルダをVS Codeで開きます。単体のProgram.csだけを開くのではなく、プロジェクトフォルダ全体を開くのがポイントです。

正しく認識されると、コード補完、型情報の表示、エラー表示、デバッグなどが使えるようになります。たとえば、Console.まで入力すると、WriteLineなどの候補が表示されます。

VS CodeのC#ドキュメントでは、C# Dev Kitによって.NETプロジェクト、MSBuildプロジェクト、C#スクリプトなどがサポートされ、コンソールアプリやASP.NET Core Web APIなどのプロジェクトタイプに対応すると説明されています。

4-5. SDKが認識されないときの確認ポイント

VS Codeで「.NET SDKが見つからない」「C# Dev Kitが動かない」と表示される場合は、まずターミナルで次のコマンドを確認します。

Bash
dotnet --info

ここでSDK情報が表示されない場合、.NET SDKが正しくインストールされていないか、パスが通っていません。

次に、VS Codeを完全に終了して再起動します。インストール直後は、VS Codeが古い環境変数を見ていることがあります。

それでも認識されない場合は、次の点を確認します。

公式インストーラーとHomebrewの両方で.NETを入れていないか、Intel版とArm64版が混ざっていないか、プロジェクトフォルダではなく単体ファイルだけを開いていないか、C# Dev KitやC#拡張機能が無効になっていないかを見直しましょう。

5. MacでC#プログラムを作成して実行する手順

5-1. 作業フォルダを作成する

ここからは、実際にMacでC#プログラムを作成して実行します。まず、ターミナルを開いて作業用フォルダを作ります。

Bash
mkdir csharp-mac-sample
cd csharp-mac-sample

フォルダ名は自由ですが、日本語や空白を含まない名前にしておくとトラブルが少なくなります。

5-2. dotnet new consoleでプロジェクトを作成する

次に、コンソールアプリのプロジェクトを作成します。

Bash
dotnet new console

このコマンドを実行すると、現在のフォルダにC#のコンソールアプリが作成されます。主に次のようなファイルができます。

Program.cs
csharp-mac-sample.csproj

Program.csがC#コードを書くファイルで、.csprojがプロジェクト設定ファイルです。

5-3. Program.csを編集する

作成直後のProgram.csには、Hello Worldを表示するコードが書かれています。VS Codeでフォルダを開きましょう。

Bash
code .

Program.csを開き、次のように編集します。

C#
Console.WriteLine("MacでC#を実行しています!");
Console.WriteLine("Hello, C#!");

最近のC#では、トップレベルステートメントという書き方が使えるため、初心者向けのコンソールアプリではclass Programstatic void Mainを書かなくても実行できます。

5-4. dotnet runでC#を実行する

プログラムを実行するには、ターミナルで次のコマンドを使います。

Bash
dotnet run

次のように表示されれば成功です。

MacでC#を実行しています!
Hello, C#!

dotnetコマンドは、.NETプロジェクトを操作するためのコマンドを提供し、.NETアプリケーションの実行にも使われます。Microsoft Learnでも、dotnetコマンドにはプロジェクト操作とアプリケーション実行の2つの役割があると説明されています。

5-5. dotnet buildでビルドする

実行せずにビルドだけ行いたい場合は、次のコマンドを使います。

Bash
dotnet build

ビルドが成功すると、構文エラーがないことを確認できます。Microsoft Learnでも、dotnet buildはプロジェクトをビルドするコマンド例として紹介されています。

エラーがある場合は、ファイル名、行番号、エラー内容が表示されます。初心者のうちは、エラーメッセージをそのまま検索するよりも、まず該当行のセミコロン、ダブルクォーテーション、括弧の対応を確認しましょう。

5-6. 実行ファイルの出力場所を確認する

dotnet buildを実行すると、ビルド結果は通常、次のようなフォルダに出力されます。

bin/Debug/net10.0/

使用している.NETのバージョンによって、net8.0net9.0net10.0などの名前になります。

出力先を確認するには、次のように移動します。

Bash
ls bin/Debug

作成された.dllを直接実行する場合は、次のような形式になります。

Bash
dotnet bin/Debug/net10.0/csharp-mac-sample.dll

ただし、学習段階ではdotnet runを使えば十分です。

6. MacでC#のデバッグを行う方法

6-1. VS CodeからC#を実行する

VS Codeでプロジェクトフォルダを開くと、エディター上からC#を実行できます。C# Dev Kitが正しく動いていれば、実行やデバッグのボタンが表示されます。

ターミナルでdotnet runを実行する方法に慣れたら、次はVS Codeのデバッグ機能を使ってみましょう。デバッグを使うと、プログラムを途中で止めたり、変数の中身を確認したりできます。

VS CodeのC#デバッグドキュメントでも、C#拡張機能とC# Dev Kitにより、C#アプリケーションを実行・デバッグする複数の方法が提供されると説明されています。

6-2. ブレークポイントを設定する

ブレークポイントとは、プログラムを一時停止させる場所のことです。

VS CodeでProgram.csを開き、止めたい行の左側をクリックします。赤い丸が表示されればブレークポイントの設定完了です。

たとえば、次のコードでConsole.WriteLineの行にブレークポイントを設定します。

C#
var name = "C#";
Console.WriteLine($"Hello, {name}!");

デバッグ実行すると、その行で処理が止まり、変数の状態を確認できます。

6-3. 変数の中身を確認する

デバッグ中は、VS Codeの左側に変数一覧が表示されます。たとえばnameという変数に"C#"が入っていることを確認できます。

また、コード上の変数にマウスを重ねると、現在の値がポップアップで表示されます。

初心者にとって、デバッグは非常に重要です。エラーが出たときだけでなく、「この時点で変数に何が入っているのか」を確認する習慣をつけると、C#の理解が早くなります。

6-4. launch.jsonが必要なケース

通常の.NETコンソールアプリであれば、C# Dev Kitが自動的に実行構成を認識してくれることが多いです。しかし、特殊な起動引数を渡したい場合や、複数プロジェクトがある場合は、.vscode/launch.jsonが必要になることがあります。

launch.jsonは、VS Codeでデバッグ実行するときの設定ファイルです。たとえば、どのプロジェクトを起動するか、どの引数を渡すか、環境変数をどう設定するかを指定できます。

初心者のうちは、まず自動構成でデバッグできるか試しましょう。うまくいかない場合にだけlaunch.jsonを作成すれば十分です。

6-5. ターミナル実行とVS Code実行の違い

ターミナル実行とVS Code実行の違いは、主に確認できる情報の量です。

ターミナルでdotnet runを実行すると、素早く結果を確認できます。簡単なプログラムや学習中のコードでは、ターミナル実行が便利です。

一方、VS Codeのデバッグ実行では、ブレークポイント、変数確認、ステップ実行ができます。処理の流れを追いたいときや、エラーの原因を調べたいときに向いています。

最初はdotnet runで実行し、少し複雑なコードになってきたらVS Codeのデバッグを使う、という使い分けがおすすめです。

7. Macで作れるC#アプリの種類

7-1. コンソールアプリ

最初に作るべきなのはコンソールアプリです。ターミナルに文字を表示したり、入力を受け取ったりするシンプルなアプリです。

コンソールアプリは画面が地味ですが、C#の文法を学ぶには最適です。変数、条件分岐、繰り返し、配列、クラス、例外処理などを、余計なUIに悩まず学べます。

MacでC#を始めるなら、まずはdotnet new consoleで小さなプログラムを何個も作りましょう。

7-2. Webアプリ・Web API

C#はWeb開発にも使えます。ASP.NET Coreを使うと、Mac上でWebアプリやWeb APIを開発できます。

たとえば、Web APIプロジェクトは次のように作成できます。

Bash
dotnet new webapi -n MyApi
cd MyApi
dotnet run

ASP.NET Coreはクロスプラットフォームなので、Macで開発してLinuxサーバーやクラウド環境にデプロイすることも可能です。VS CodeのC#ドキュメントでも、ASP.NET Core App、ASP.NET Core Web API、Blazor Web AppなどがC# Dev Kitの対応プロジェクト例として挙げられています。

7-3. Unityゲーム開発

C#はUnityのスクリプト言語としても広く使われています。MacにUnity HubとUnity Editorをインストールすれば、C#でゲーム開発を学べます。

Unity開発では、通常の.NETコンソールアプリとは少し書き方が異なります。MonoBehaviourを継承したクラスを作り、StartUpdateなどのメソッドに処理を書きます。

MacでC#を学ぶ場合、まずコンソールアプリで基本文法を覚えてからUnityに進むと理解しやすいです。

7-4. クロスプラットフォームアプリ

C#では、.NET MAUIなどを使ってクロスプラットフォームアプリを作ることもできます。.NET MAUIは、Windows、macOS、iOS、Androidなど複数環境向けのアプリ開発を目指すフレームワークです。

ただし、初心者がいきなりMAUIから始めると、C#文法、UI、ビルド設定、各OSの違いを同時に学ぶことになり、難しく感じやすいです。

まずはコンソールアプリ、次にWeb API、その後にGUIアプリやモバイルアプリへ進む流れが無理のない学習ステップです。

7-5. Windows専用アプリ開発で注意すべきこと

C#では、WPF、Windows Forms、WinUIなどを使ったWindowsデスクトップアプリも作れます。ただし、これらは基本的にWindows向けの技術です。

Mac上でC#を書けるからといって、Windows専用GUIアプリをMacだけで快適に開発できるとは限りません。WPFやWinFormsを本格的に扱う場合は、Windows PC、仮想環境、クラウド上のWindows開発環境などを用意したほうがよいです。

MacでC#を学ぶ段階では、まずコンソールアプリ、ASP.NET Core、Unity、クロスプラットフォーム系を中心に考えるとスムーズです。

8. MacでC#開発するときによくあるエラーと対処法

8-1. dotnetコマンドが見つからない

ターミナルで次のように表示される場合があります。

Bash
zsh: command not found: dotnet

これは、.NET SDKがインストールされていないか、dotnetコマンドへのパスが通っていない状態です。

まず、.NET SDKをインストールしたか確認します。ランタイムだけを入れていないかも見直しましょう。

次に、ターミナルを再起動します。インストール直後は、開いているターミナルが古い環境変数のままになっていることがあります。

それでも解決しない場合は、次のコマンドでdotnetの場所を確認します。

Bash
which dotnet

何も表示されない場合は、インストールに失敗しているか、パス設定が不足しています。

8-2. .NET SDKが認識されない

dotnet --infoは表示されるのに、VS CodeがSDKを認識しないことがあります。この場合は、VS Code側の問題である可能性があります。

まず、VS Codeを完全に終了して再起動します。次に、プロジェクトフォルダ全体を開いているか確認します。Program.csだけを直接開くと、C# Dev Kitがプロジェクトとして認識できない場合があります。

また、.csprojファイルが存在するか確認してください。存在しない場合は、次のようにプロジェクトを作り直します。

Bash
dotnet new console

8-3. C# Dev Kitが正常に動かない

C# Dev Kitが動かない場合は、拡張機能の依存関係やライセンス、ワークスペース設定が影響していることがあります。C# Dev KitのFAQでは、C#拡張機能のバージョン、ワークスペース設定、拡張機能フォルダへの書き込み権限などが確認ポイントとして挙げられています。

まず、拡張機能画面でC# Dev Kitが有効になっているか確認します。次に、C#拡張機能や.NET Install Toolも無効になっていないか確認します。

それでも動かない場合は、VS Codeの「出力」パネルを開き、C# Dev Kitのログを確認します。エラーメッセージが出ている場合、その内容を手がかりに原因を絞り込めます。

8-4. デバッグ実行できない

dotnet runでは動くのにVS Codeでデバッグできない場合、実行構成が正しく作られていない可能性があります。

まず、VS Codeでプロジェクトフォルダ全体を開いているか確認します。次に、C# Dev Kitがプロジェクトを認識しているか確認します。

複数の.csprojがある場合、どのプロジェクトを起動するか明示する必要があります。その場合は、VS Codeのコマンドパレットから.NET関連の実行対象を選ぶか、必要に応じてlaunch.jsonを作成します。

8-5. x64版とarm64版を間違えている

Apple Silicon Macでよくあるのが、x64版とarm64版の混在です。

たとえば、Arm64版のVS Codeを使っているのに、Rosetta経由のターミナルでx64版.NETを使っていると、拡張機能やターミナルで見えるSDKが一致しないことがあります。

確認するには、次のコマンドを使います。

Bash
uname -m
dotnet --info
which dotnet

Apple Silicon Macなら、基本的にはuname -marm64になっている状態で、Arm64版.NET SDKを使うのがおすすめです。

8-6. パス設定を確認する方法

dotnetコマンドの場所は、次のコマンドで確認できます。

Bash
which dotnet

環境変数PATHの内容は、次のコマンドで確認できます。

Bash
echo $PATH

HomebrewをApple Silicon Macに入れている場合、一般的には/opt/homebrew/binがPATHに含まれます。Intel Macでは/usr/local/binが使われることが多いです。

PATHを編集する場合は、zshを使っているMacでは主に~/.zshrcを編集します。ただし、初心者がむやみにPATHを書き換えると別の問題が起きることがあります。まずは公式インストーラーの再実行やターミナル再起動で解決するか確認しましょう。

9. MacでC#を学ぶためのおすすめ学習ステップ

9-1. まずはコンソールアプリで文法を学ぶ

MacでC#を学ぶなら、最初はコンソールアプリから始めるのが最短です。

まずは次のような基本文法を学びましょう。

変数、数値、文字列、条件分岐、繰り返し、配列、リスト、メソッドを順番に練習します。たとえば、計算機、じゃんけん、TODOリスト、簡単な家計簿などを作ると、基礎が身につきます。

最初からWebアプリやUnityに進むと、C#以外の知識も同時に必要になります。まずはC#そのものに集中することが大切です。

9-2. クラス・メソッド・例外処理を理解する

基本文法に慣れたら、クラスとメソッドを学びます。C#はオブジェクト指向言語なので、クラスの理解がとても重要です。

たとえば、Userクラス、Productクラス、Orderクラスなどを作り、プロパティやメソッドを定義してみましょう。

次に、例外処理を学びます。ファイルを読み込む、数値変換をする、外部APIにアクセスするなど、失敗する可能性のある処理では例外処理が必要です。

C#
try
{
var number = int.Parse("123");
Console.WriteLine(number);
}
catch (FormatException)
{
Console.WriteLine("数値に変換できませんでした。");
}

このようなコードを書きながら、エラーに強いプログラムの作り方を覚えていきます。

9-3. LINQや非同期処理を学ぶ

C#らしい書き方を身につけるには、LINQと非同期処理が重要です。

LINQを使うと、コレクションの絞り込み、並べ替え、変換を簡潔に書けます。

C#
var numbers = new List<int> { 1, 2, 3, 4, 5 };

var evenNumbers = numbers.Where(n => n % 2 == 0);

foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}

非同期処理は、Web APIへのアクセス、ファイル処理、データベース処理などでよく使います。asyncawaitの考え方に慣れると、実践的なアプリを作りやすくなります。

9-4. Web API開発に進む

C#の基礎を学んだら、ASP.NET CoreでWeb APIを作ってみましょう。

Web APIを学ぶと、HTTP、JSON、ルーティング、データベース接続、認証など、実務に近い知識が身につきます。

最初は、メモ一覧を返すAPIや、TODOを登録・更新・削除するAPIがおすすめです。フロントエンドを別に用意しなくても、APIだけならMac上で十分に学習できます。

9-5. 小さなアプリを作って実践する

学習を進めるうえで最も大切なのは、小さなアプリを完成させることです。

おすすめの題材は、TODO管理、読書記録、支出メモ、タイマー、CSV読み込みツール、簡単なWeb APIなどです。

大きなアプリを作ろうとすると途中で挫折しやすいため、最初は1日から数日で完成する規模にしましょう。完成したら、機能追加、リファクタリング、エラー処理、テストの追加を行うと、より実践的な力がつきます。

10. MacでC#を始めるときのよくある質問

10-1. MacだけでC#の勉強はできる?

できます。C#の基本文法、コンソールアプリ、Web API、Unity開発の学習はMacだけで十分に可能です。

.NETはmacOSにも対応しており、VS CodeとC# Dev Kitを使えば、コード補完やデバッグも利用できます。学習目的であれば、Windows PCを買う必要はありません。

ただし、WPFやWindows FormsなどWindows専用アプリを本格的に作りたい場合は、Windows環境が必要になることがあります。

10-2. Visual StudioはMacで使えない?

現在、Visual Studio for Macはサポート終了しています。Visual Studio for Macは2024年8月31日にリタイアし、MicrosoftはMac開発者向けの代替としてVS CodeとC# Dev Kitなどを案内しています。

また、現在のVisual StudioはWindows用IDEとして案内されています。MacでC#を始めるなら、Visual Studio for Macではなく、VS CodeまたはRiderを選ぶのが現実的です。

10-3. VS CodeとRiderはどちらがおすすめ?

初心者にはVS Codeがおすすめです。無料で使え、C# Dev Kitを入れれば学習に必要な機能がそろいます。

一方、Riderは本格的なIDEを求める人に向いています。大規模なプロジェクト、業務開発、テスト、リファクタリングを多用するならRiderのほうが快適な場面もあります。

まずVS Codeで始めて、不便を感じるようになったらRiderを検討する流れがよいでしょう。

10-4. M1・M2・M3 MacでもC#は動く?

動きます。Apple Silicon Mac向けにはArm64版の.NET SDKが提供されています。Microsoft公式の.NETダウンロードページでも、macOS向けにArm64(Apple Silicon)版のSDKが用意されています。

M1、M2、M3、M4 Macを使っている場合は、Arm64版の.NET SDKとArm64版のVS Codeを使うのがおすすめです。

10-5. WindowsアプリはMacで作れる?

作るアプリの種類によります。

コンソールアプリやWeb APIのようなクロスプラットフォームな.NETアプリであれば、Macで開発してWindowsで動かすことも可能です。

しかし、WPF、Windows Forms、WinUIのようなWindows専用UIアプリは、Macだけでは開発しにくいです。この場合は、Windows PC、仮想マシン、クラウド上のWindows環境などを使うのが現実的です。

10-6. 初心者はどの.NETバージョンを選べばいい?

初心者は、公式サイトで推奨されている最新のLTS版を選ぶのがおすすめです。2026年6月時点では、.NET公式ダウンロードページで.NET 10.0がLTSかつ推奨として案内されています。

古い教材が.NET 6や.NET 8を使っている場合でも、基本的なC#文法やコンソールアプリの学習内容は大きく変わりません。ただし、実務プロジェクトに参加する場合は、そのプロジェクトで指定されている.NETバージョンに合わせましょう。

まとめ

MacでもC#開発は十分に可能です。現在の.NETはmacOSに対応しており、Intel MacでもApple Silicon MacでもC#プログラムを作成・実行できます。

これからMacでC#を始めるなら、まず.NET SDKをインストールし、VS CodeとC# Dev Kitを設定しましょう。その後、dotnet new consoleでプロジェクトを作成し、dotnet runで実行すれば、Mac上でC#の第一歩を踏み出せます。

Visual Studio for Macはすでにサポート終了しているため、今から始めるならVS Code + C# Dev Kit、またはRiderを使うのがおすすめです。学習の順番としては、コンソールアプリで文法を学び、クラスや例外処理、LINQ、非同期処理に進み、その後Web APIやUnityなどに広げていくと無理なく成長できます。

「csharp mac」で開発環境を探している人にとって、Macは決して不利な環境ではありません。正しいSDK、正しいエディター、基本的なdotnetコマンドを押さえれば、MacだけでC#の学習から実践的なアプリ開発まで進められます。