MacでC#開発はできる?Visual Studio終了後の環境構築とVS Code・Riderの選び方
はじめに
「c# macos」「Mac C# 開発」と検索する人の多くは、次のような疑問を持っているはずです。
MacでC#は本当に開発できるのか。Visual Studio for Macが終了した今、何を使えばよいのか。VS Codeだけで十分なのか、それともRiderを選ぶべきなのか。.NET SDKやdotnetコマンドの設定でつまずかないか。Windowsでしか動かないC#アプリとの違いは何か。
結論からいうと、MacでもC#開発は問題なくできます。ただし、以前のように「Visual Studio for Macを入れれば終わり」という状況ではありません。現在のmacOSにおけるC#開発は、.NET SDKを土台にして、VS Code、JetBrains Rider、.NET CLIを組み合わせる形が中心です。
この記事では、MacでC#開発を始めたい人に向けて、Visual Studio for Mac終了後の環境構築、VS CodeとRiderの選び方、Apple Silicon Macでの注意点、よくあるトラブル、Windows環境が必要になるケースまで整理して解説します。
1. MacでC#開発はできる?結論と検索ユーザーが知りたい全体像
1-1. MacでもC#/.NET開発は可能:Visual Studio for Mac終了後も開発環境はある
MacでもC#と.NETを使った開発はできます。.NETはWindowsだけでなく、macOSやLinuxでも動作するクロスプラットフォームの開発基盤です。Microsoftの公式ダウンロードページでも、.NETはLinux、macOS、Windows向けに提供されています。Microsoft
ただし、注意したいのは「Visual Studio for Mac」はすでに終了しているという点です。MicrosoftはVisual Studio for Macを2024年8月31日にリタイアしたと案内しています。Microsoft Learn そのため、これからMacでC#開発を始めるなら、Visual Studio for Macではなく、VS Code、JetBrains Rider、.NET CLIを前提に環境を作るのが現実的です。
つまり、「MacでC#開発はできるが、Windows版Visual Studioと同じ環境ではない」と考えるのが正確です。
1-2. MacでできるC#開発の種類:コンソール、Web、API、Unity、MAUI、デスクトップ
Macで対応しやすいC#開発には、次のようなものがあります。
コンソールアプリは、C#学習や小さなツール作成に向いています。dotnet new consoleでプロジェクトを作り、dotnet runで実行できます。
ASP.NET Coreを使えば、WebアプリやWeb APIも開発できます。Mac上でローカルサーバーを起動し、ブラウザやAPIクライアントで動作確認できます。
Unityを使ったゲーム開発も、MacでC#を使う代表的な用途です。UnityはC#スクリプトでゲームロジックを書くため、VS CodeやRiderと組み合わせて開発できます。JetBrains RiderはUnity APIのサポートを備えており、Unity向けIDEとしても利用されています。jetbrains.com
.NET MAUIを使えば、C#とXAMLでAndroid、iOS、macOS、Windows向けのクロスプラットフォームアプリを作れます。Microsoftの公式ドキュメントでも、.NET MAUIはAndroid、iOS、macOS、Windows向けのネイティブアプリ開発フレームワークと説明されています。Microsoft Learn
一方で、WPFやWindows FormsのようなWindows専用UIフレームワークをMac単体で本格開発するのは難しいです。WPFはWindows専用のUIフレームワークであり、Windows Formsも.NETがクロスプラットフォームであってもWindows専用のフレームワークです。Microsoft Learn+1
1-3. Windows版Visual Studioとの違い:MacではVS Code・Rider・CLIが中心
WindowsでC#開発といえば、Visual Studioを思い浮かべる人が多いでしょう。Visual Studioは、プロジェクト作成、GUIデザイナー、デバッグ、テスト、NuGet管理、Azure連携などが統合された強力なIDEです。
しかし、macOSではVisual Studio for Macが終了したため、同じ名前のIDEをそのまま使う選択肢はなくなりました。MacでのC#開発は、次の3つを組み合わせて考えるのが基本です。
VS Codeは軽量なエディタです。C# Dev KitやC#拡張機能を追加することで、補完、デバッグ、テスト、ソリューション管理などを利用できます。C# Dev KitはWindows、macOS、Linux、Codespacesで利用できるC#開発体験を提供する拡張機能です。Visual Studio Marketplace
JetBrains Riderは、Windows、macOS、Linuxで使える本格的な.NET IDEです。JetBrainsの公式ページでも、Riderはクロスプラットフォームの.NET IDEとして紹介されています。jetbrains.com
.NET CLIは、dotnet new、dotnet build、dotnet run、dotnet testなどをターミナルから実行するためのコマンドラインツールです。エディタやIDEに依存せず、C#プロジェクトを作成・ビルド・実行できます。
1-4. この記事でわかること:環境構築、エディタ選び、移行先、トラブル対策
この記事では、MacでC#開発を始めるために必要な情報を、実践しやすい順番で解説します。
まず、Visual Studio for Mac終了後にMacのC#開発環境がどう変わったのかを整理します。次に、.NET SDKのインストール、dotnetコマンドの確認、最初のプロジェクト作成までを説明します。
そのうえで、VS CodeとRiderの特徴を比較し、初心者、個人開発、業務開発、Unity開発、ASP.NET Core開発、MAUI開発ではどちらを選ぶべきかを解説します。最後に、よくあるエラーやWindows環境が必要になるケースも取り上げます。
2. Visual Studio for Mac終了後、MacのC#開発環境はどう変わったのか
2-1. Visual Studio for Macはなぜ使えなくなったのか
Visual Studio for Macは、2024年8月31日にサポート終了となりました。Microsoftは2023年8月に、Visual Studio for Mac 17.6を最終版として、セキュリティ修正やAppleのプラットフォーム更新に対応するサービス期間を2024年8月31日まで提供すると発表していました。Microsoft for Developers
終了後は、新しいC#言語機能、新しい.NET SDK、新しいmacOSやXcodeへの継続的な対応を期待する開発環境としては適していません。古い環境で一時的に使える場合があっても、これから新規にMacでC#開発を始める人が選ぶべき環境ではありません。
2-2. 既存ユーザーが移行先として検討すべき選択肢
Visual Studio for Macを使っていた人の移行先は、主に3つです。
軽量に移行したいならVS Codeです。既存の.slnや.csprojを開き、C# Dev KitやC#拡張機能を導入すれば、基本的な開発は進められます。コンソールアプリ、ASP.NET Core、クラスライブラリ、テストプロジェクトなどには対応しやすいです。
本格的なIDE体験を求めるならRiderです。Visual Studioに近い感覚で、ソリューション管理、強力な補完、リファクタリング、デバッグ、テスト実行、NuGet管理などを扱えます。複数プロジェクトを含む業務用ソリューションやUnity開発では、Riderのほうが快適に感じる場面が多いでしょう。
シンプルな開発や自動化を重視するなら.NET CLIです。エディタに依存せず、ターミナルからプロジェクト作成、ビルド、実行、テストができます。CI/CDでもCLIの知識は役立ちます。
2-3. Visual Studio Code、JetBrains Rider、.NET CLIの位置づけ
VS Codeは「軽量なエディタにC#機能を追加する環境」です。起動が速く、無料で始めやすく、学習や小規模開発に向いています。拡張機能を入れることでC#の補完やデバッグもできますが、IDEとしての統合度はRiderに劣る部分があります。
Riderは「最初から.NET開発に特化した統合開発環境」です。プロジェクト解析、リファクタリング、テスト、データベース連携、Unity連携などが強く、業務開発に向いています。JetBrains公式ドキュメントでは、RiderはWindows、macOS、Linuxで一貫した体験を提供するクロスプラットフォームIDEと説明されています。jetbrains.com
.NET CLIは「C#開発の土台」です。VS Codeを使ってもRiderを使っても、内部では.NET SDKやdotnetコマンドが重要になります。MacでC#開発をするなら、最低限のdotnetコマンドは覚えておくべきです。
2-4. これからMacでC#を始める人が最初に選ぶべき環境
これからMacでC#を始めるなら、まずは「.NET SDK+VS Code」がおすすめです。理由は、無料で始められ、手順がシンプルで、C#の基礎学習やASP.NET Coreの入門に十分対応できるからです。
ただし、すでに業務で.NETを使う予定がある人、Visual Studio for Macからの移行で複数プロジェクトのソリューションを扱う人、Unity開発を本格的に行う人は、最初からRiderを検討してもよいでしょう。
迷った場合は、まずVS CodeでC#の基本を試し、不便を感じたらRiderに移行する流れが現実的です。
3. MacでC#開発を始めるために必要なもの
3-1. .NET SDKのインストール
MacでC#開発をするには、まず.NET SDKをインストールします。.NET SDKには、C#コンパイラ、ランタイム、テンプレート、ビルドツール、dotnetコマンドなどが含まれています。
Microsoft公式のmacOS向けインストールページでは、対応する.NET SDKと.NET Runtimeのバージョン、SDKとランタイムの違い、macOSへのインストール方法が案内されています。Microsoft Learn
初心者は、基本的に公式サイトから最新版またはLTS版のSDKインストーラーをダウンロードする方法がわかりやすいです。ランタイムだけでは開発できないため、「Runtime」ではなく「SDK」を入れる点に注意してください。
3-2. ターミナルでdotnetコマンドを確認する方法
.NET SDKをインストールしたら、ターミナルを開いて次のコマンドを実行します。
Bashdotnet --version
バージョン番号が表示されれば、.NET SDKは認識されています。
インストール済みのSDKを一覧表示したい場合は、次のコマンドを使います。
Bashdotnet --list-sdks
ランタイムを確認したい場合は、次のコマンドです。
Bashdotnet --list-runtimes
command not found: dotnetと表示される場合は、インストールに失敗しているか、PATHが通っていない可能性があります。その場合は、ターミナルを再起動し、それでも解決しなければ.NET SDKのインストール先とPATH設定を確認します。
3-3. Apple Silicon MacとIntel Macで注意すべきポイント
Macには、Apple Silicon搭載モデルとIntel搭載モデルがあります。Apple SiliconはM1、M2、M3、M4などのチップを搭載したMacです。Intel MacとはCPUアーキテクチャが異なるため、SDKやツールを選ぶときに注意が必要です。
公式インストーラーを使う場合は、自分のMacに合ったアーキテクチャのSDKを選びます。Apple SiliconならArm64版、Intel Macならx64版が基本です。
一部の古いツールやネイティブ依存のあるNuGetパッケージでは、Apple Siliconでそのまま動かない場合があります。その場合は、対応版のパッケージに更新する、Rosetta 2を使う、x64版の.NET SDKを併用する、Dockerや仮想環境を使うといった対応を検討します。
3-4. Homebrewを使う場合と公式インストーラーを使う場合の違い
.NET SDKのインストール方法には、主に公式インストーラーを使う方法とHomebrewを使う方法があります。
公式インストーラーは、Microsoftの案内に沿ってインストールできるため、初心者に向いています。バージョン管理やサポート情報も公式ドキュメントと照らし合わせやすいです。
Homebrewは、ターミナルでパッケージを管理したい人に向いています。ほかの開発ツールもHomebrewで管理している場合、更新や再インストールをまとめやすいのが利点です。
ただし、複数バージョンの.NET SDKを併用する場合や、VS CodeやRiderがSDKを検出できない場合は、どこにSDKが入っているかを把握する必要があります。初心者は、まず公式インストーラーで導入するのが無難です。
3-5. 最初のC#プロジェクトを作成して実行する手順
.NET SDKの準備ができたら、最初のC#コンソールアプリを作ってみましょう。
Bashmkdir MyCSharpApp
cd MyCSharpApp
dotnet new console
dotnet run
実行すると、標準のテンプレートで作られたプログラムが動きます。
C#ファイルは通常、Program.csです。最近のC#テンプレートでは、トップレベルステートメントにより、従来のclass Programやstatic void Mainを書かなくてもシンプルに実行できる形になっています。
たとえば、Program.csを次のように変更します。
C#Console.WriteLine("Hello from C# on macOS!");
再度実行します。
Bashdotnet run
これで、Mac上でC#コードを書き、ビルドし、実行する基本の流れを確認できます。
4. VS CodeでMacのC#開発環境を構築する方法
4-1. VS CodeがMacのC#開発で選ばれる理由
VS CodeがMacのC#開発で選ばれる理由は、無料で軽く、拡張機能が豊富だからです。C#だけでなく、JavaScript、TypeScript、Python、Docker、Git、Markdownなども同じエディタで扱えるため、Web開発やクラウド開発と相性がよいです。
C#学習を始めたい人、ASP.NET Coreの小規模なWeb APIを作りたい人、CLI中心で開発したい人には、VS Codeは十分実用的な選択肢です。
また、C# Dev Kitを導入すると、ソリューションエクスプローラー、テスト検出、デバッグなど、C#向けの機能が強化されます。Microsoftの説明では、C# Dev KitはLinux、macOS、Windows向けに改善されたC#開発体験を提供するVS Code拡張機能です。Microsoft Learn
4-2. C# Dev KitとC#拡張機能の違い
VS CodeでC#開発をする場合、よく出てくるのが「C# Dev Kit」と「C#拡張機能」です。
C#拡張機能は、C#の基本的な言語サポート、補完、デバッグなどを提供します。軽量にC#を書きたい場合や、CLI中心で作業する場合に使いやすいです。
C# Dev Kitは、よりIDEに近い体験を提供する拡張機能です。ソリューション管理、テスト実行、プロジェクト管理などが強化されます。公式FAQでは、C# Dev KitはWebアプリ、コンソールアプリ、クラスライブラリ、テストプロジェクトなどをサポートし、.NET MAUI拡張機能やUnity拡張機能はC# Dev Kitの上に構築されると説明されています。Visual Studio Code
簡単にいうと、最小構成でよければC#拡張機能、Visual Studioに近い開発体験を求めるならC# Dev Kitを使うと考えるとよいでしょう。
4-3. VS Codeに必要な拡張機能
MacでVS Codeを使ってC#開発をするなら、まず次の拡張機能を検討します。
C# Dev Kitは、C#プロジェクトの管理、補完、テスト、デバッグを強化する中心的な拡張機能です。
C#拡張機能は、C#言語サポートの基本になります。C# Dev Kitとあわせて導入されることもあります。
IntelliCodeやGit関連の拡張機能も、必要に応じて導入すると便利です。
ASP.NET Coreを扱うなら、REST Client、Docker、Azure Toolsなどの拡張機能も役立ちます。Unity開発ならUnity関連の拡張機能を追加します。.NET MAUIを扱う場合は、MAUI向けの拡張機能とXcodeなどの周辺環境も必要になります。
4-4. C#プロジェクトを作成・実行・デバッグする流れ
VS CodeでC#プロジェクトを作る基本の流れは、ターミナルでプロジェクトを作成し、VS Codeでフォルダを開く方法です。
Bashmkdir SampleApp
cd SampleApp
dotnet new console
code .
VS Codeが開いたら、Program.csを編集します。実行はターミナルから次のように行えます。
Bashdotnet run
デバッグを使う場合は、VS Codeの実行とデバッグ機能から構成を作成します。C# Dev Kitを入れている場合、プロジェクトを認識して実行・デバッグ候補を表示してくれることがあります。
ASP.NET Core Web APIを作る場合は、次のようにします。
Bashdotnet new webapi -n SampleApi
cd SampleApi
dotnet run
表示されたローカルURLにブラウザやAPIクライアントでアクセスすれば、Mac上でC#のWeb APIを動かせます。
4-5. VS Codeが向いている人・向いていない人
VS Codeが向いているのは、無料でC#を始めたい人、学習目的の人、小規模なコンソールアプリやWeb APIを作りたい人、ターミナル操作に抵抗がない人です。
また、フロントエンド開発やクラウド開発と同じエディタを使いたい人にも向いています。ASP.NET CoreとReact、Vue、TypeScriptなどを組み合わせる場合も、VS Codeは使いやすいです。
一方で、複数プロジェクトを含む大規模なソリューション、複雑なリファクタリング、テスト管理、Unity開発、業務レベルの.NET開発では、VS Codeだけだと物足りないことがあります。その場合はRiderを検討するとよいでしょう。
5. RiderでMacのC#開発をする方法
5-1. JetBrains Riderとは:Macで使える本格的な.NET IDE
JetBrains Riderは、Macで使える本格的な.NET IDEです。Windows、macOS、Linuxに対応しており、C#、ASP.NET Core、Unity、.NET MAUI、テスト、データベース、Gitなどを統合的に扱えます。JetBrains公式サイトでも、RiderはWindows、macOS、Linuxで利用できるクロスプラットフォーム.NET IDEとして紹介されています。jetbrains.com
Visual Studio for Macが終了した後、Macで「IDEらしいC#開発環境」を求めるなら、Riderは有力な移行先です。
5-2. Riderでできること:補完、デバッグ、リファクタリング、テスト実行
Riderでは、C#コードの補完、コード解析、リファクタリング、デバッグ、単体テスト実行、NuGetパッケージ管理、ソリューション管理などが統合されています。
VS Codeでも拡張機能を使えば多くのことはできますが、Riderは最初から.NET開発に特化しているため、複数プロジェクトの扱いやコード解析の快適さで差が出やすいです。
たとえば、クラス名の変更、メソッド抽出、未使用コードの検出、テスト結果の確認、ブレークポイントを使ったデバッグなどをGUIでスムーズに行えます。Visual Studio for Macから移行する人にとっては、VS CodeよりRiderのほうが違和感が少ない場合があります。
5-3. Riderのインストールと初期設定
RiderはJetBrains公式サイトからmacOS版をダウンロードできます。ダウンロードページでは、macOS向けに通常版とApple Silicon版が用意されています。jetbrains.com
インストール後、初回起動時に.NET SDKの検出を確認します。RiderでC#プロジェクトを作成する場合でも、.NET SDKは別途必要です。JetBrainsのサポートページでも、MacでRiderを使う開発では、作るアプリの種類に応じて追加フレームワークが必要になると説明されています。Rider Support
初期設定では、次の点を確認します。
まず、.NET SDKが認識されているかを確認します。次に、Git連携を使う場合はGitのパスやアカウント設定を確認します。Unity開発の場合は、Unity側の外部エディタ設定でRiderを選びます。必要に応じて、テーマ、キーマップ、フォント、コードスタイルも設定します。
5-4. Visual Studio for MacからRiderへ移行する場合のポイント
Visual Studio for MacからRiderへ移行する場合、基本的には既存の.slnファイルをRiderで開きます。多くのSDKスタイルの.NETプロジェクトであれば、そのまま読み込めます。
移行時に確認すべきポイントは、.NET SDKのバージョン、NuGetパッケージ、ターゲットフレームワーク、ビルドスクリプト、実行構成です。
特に古い.NET Framework向けプロジェクトの場合は注意が必要です。.NET FrameworkはWindows向けの技術であり、Microsoftも.NET FrameworkはWindowsでアプリをビルド・実行するためのもの、.NETはmacOSやLinuxも含むクロスプラットフォームであると説明しています。Microsoft
Visual Studio for Macで古いXamarinプロジェクトや特殊な構成を使っていた場合は、.NET MAUIへの移行、プロジェクト形式の更新、Windows環境でのビルド維持なども検討します。
5-5. Riderが向いている人・向いていない人
Riderが向いているのは、業務でC#/.NETを使う人、大きめのソリューションを扱う人、Unity開発を本格的に行う人、テストやリファクタリングを重視する人です。
また、Visual Studio for Macから移行する人にも向いています。VS CodeよりもIDEとしての統合度が高く、C#開発に必要な機能がまとまっているためです。
一方で、C#を少し学びたいだけの人や、コンソールアプリを数本作る程度の人には、Riderは機能が多すぎるかもしれません。軽さや無料で始めることを重視するなら、まずはVS Codeで十分です。なお、JetBrains公式ドキュメントではRiderは非商用利用なら無料と案内されていますが、業務利用やチーム利用ではライセンス条件を確認する必要があります。jetbrains.com
6. VS CodeとRiderはどちらを選ぶべきか
6-1. 無料で軽く始めたいならVS Code
無料で軽く始めたいなら、VS Codeがおすすめです。.NET SDKとVS Code、C# Dev Kitを入れれば、C#の学習、コンソールアプリ、ASP.NET Coreの入門、簡単なWeb API開発は十分にできます。
特に、プログラミング初心者や、C#を試してみたいだけの人は、最初から重いIDEに慣れるより、ターミナルとVS Codeで基本を覚えたほうが理解しやすいです。
VS CodeはC#以外の言語にも強いため、フロントエンドやクラウド開発と組み合わせる人にも向いています。
6-2. 本格的な.NET開発や業務利用ならRider
本格的な.NET開発や業務利用なら、Riderが有力です。複数プロジェクトを含むソリューション、単体テスト、デバッグ、リファクタリング、コード解析、NuGet管理などを日常的に使う場合、Riderの統合環境は大きなメリットになります。
Visual Studio for Mac終了後に、Visual Studioに近い使い勝手をMacで求めるなら、VS CodeよりRiderのほうが近いと感じる人が多いでしょう。
6-3. 学習、個人開発、チーム開発での選び方
学習目的なら、VS Codeから始めるのが最短です。C#の文法、クラス、LINQ、非同期処理、ASP.NET Coreの基本を学ぶには十分です。
個人開発では、作るものによって選びます。小さなCLIツールやWeb APIならVS Codeで十分です。Unityゲームや複数プロジェクトを含むアプリならRiderが便利です。
チーム開発では、IDEよりも.sln、.csproj、dotnetコマンド、Git、テスト、CI/CDが重要になります。チーム内でVS CodeとRiderが混在しても、CLIでビルド・テストできる構成にしておけば問題は少なくなります。
6-4. ASP.NET Core、Unity、MAUI開発での選び方
ASP.NET Core開発では、VS CodeでもRiderでも開発できます。軽量なWeb APIや学習ならVS Code、本格的な業務WebアプリならRiderが向いています。
Unity開発では、Riderが強力です。Unity向けのコード補完、デバッグ、Unity APIの理解、リファクタリングなどが充実しています。JetBrainsのUnity向けページでも、RiderはUnity向けの補完、リファクタリング、デバッグ体験を提供すると説明されています。jetbrains.com
.NET MAUI開発では、対応プラットフォームやXcodeの要件を確認する必要があります。.NET MAUIはAndroid、iOS、macOS、Windows向けに展開できますが、macOS向けはMac Catalystを使います。Microsoft Learn VS Codeでも開発できますが、複雑なアプリではRiderや公式ドキュメントに沿った構成確認が重要です。
6-5. VS CodeとRiderの比較表に入れるべき項目
| 項目 | VS Code | Rider |
|---|---|---|
| 位置づけ | 軽量エディタ | 本格的な.NET IDE |
| 料金 | 無料で始めやすい | 非商用無料、業務利用はライセンス確認が必要 |
| 対応OS | macOS、Windows、Linux | macOS、Windows、Linux |
| C#補完 | 拡張機能で対応 | 標準で強力 |
| デバッグ | 拡張機能で対応 | 統合機能が充実 |
| リファクタリング | 基本的な機能中心 | 高機能 |
| テスト実行 | C# Dev Kitなどで対応 | 統合されていて使いやすい |
| ASP.NET Core | 対応 | 対応 |
| Unity | 拡張機能で対応 | 非常に相性がよい |
| MAUI | 拡張機能と追加設定が必要 | 対応可能だが環境要件確認が必要 |
| 初心者向け | 始めやすい | 機能が多く慣れが必要 |
| 業務開発向け | 小〜中規模なら可 | 大規模開発に向く |
7. MacでC#開発するときによくあるつまずきと解決策
7-1. dotnetコマンドが見つからない
MacでC#環境を作るとき、最初につまずきやすいのがdotnetコマンドです。
Bashzsh: command not found: dotnet
このように表示される場合、.NET SDKがインストールされていないか、PATHが通っていません。
まず、ターミナルを再起動します。それでも解決しない場合は、.NET SDKを再インストールします。公式インストーラーを使っている場合は、MicrosoftのmacOS向けインストール手順を確認します。Microsoft Learn
Homebrewで入れた場合は、Homebrewのインストール先とシェル設定を確認します。Apple Silicon Macでは、/opt/homebrew配下に入ることが多く、Intel Macでは/usr/local配下に入ることが多いです。
7-2. VS Codeで補完やデバッグが動かない
VS Codeで補完やデバッグが動かない場合は、次の順番で確認します。
まず、.NET SDKが入っているかを確認します。
Bashdotnet --list-sdks
次に、VS CodeにC# Dev KitやC#拡張機能が入っているかを確認します。拡張機能を入れた直後は、VS Codeを再起動すると解決することがあります。
また、単一の.csファイルだけを開いていると、プロジェクトとして認識されず補完が弱くなる場合があります。C#では、基本的に.csprojや.slnを含むフォルダをVS Codeで開くのがおすすめです。
7-3. SDKのバージョン違いでビルドできない
C#プロジェクトでは、必要な.NET SDKのバージョンと、Macに入っているSDKのバージョンが合わないとビルドできないことがあります。
まず、次のコマンドでインストール済みSDKを確認します。
Bashdotnet --list-sdks
プロジェクトにglobal.jsonがある場合、その中で使用するSDKバージョンが固定されていることがあります。指定されたSDKがMacに入っていない場合は、該当バージョンをインストールするか、プロジェクトの方針に合わせてglobal.jsonを更新します。
チーム開発では、全員が同じSDKバージョンでビルドできるように、READMEや開発環境手順に明記しておくとトラブルを減らせます。
7-4. Apple Silicon Macでパッケージやツールが動かない
Apple Silicon Macでは、多くの.NET開発はArm64ネイティブで快適に動きます。ただし、古いネイティブライブラリ、古いCLIツール、x64前提の依存関係がある場合、エラーになることがあります。
この場合は、まずパッケージを最新化します。次に、Apple Silicon対応のバージョンがあるかを確認します。それでも動かない場合は、Rosetta 2、x64版SDK、Docker、Windows仮想環境などを検討します。
特に業務プロジェクトでは、古い.NET Framework、古いNuGetパッケージ、Windows依存のビルドタスクが残っていることがあります。Macで動かない原因がC#そのものではなく、依存しているツールやライブラリにあるケースも多いです。
7-5. Windows専用ライブラリやWPF/Windows Formsを使いたい場合
WPFやWindows Formsを本格的に扱いたい場合、Mac単体ではなくWindows環境を用意するのが現実的です。WPFはWindows専用のUIフレームワークであり、Windows FormsもWindows専用です。Microsoft Learn+1
また、COM、レジストリ、Windowsサービス、Win32 API、特定のWindows専用SDKに依存している場合も、Macだけで完結するのは難しくなります。
このような場合は、Parallels DesktopなどでWindowsを仮想化する、リモートのWindowsマシンに接続する、クラウド開発環境を使う、CIだけWindowsで実行する、といった選択肢を検討します。
8. Macで作れるC#アプリの具体例
8-1. コンソールアプリ
C#学習の最初におすすめなのがコンソールアプリです。入力、出力、条件分岐、ループ、クラス、例外処理、ファイル操作など、C#の基本を学ぶのに向いています。
たとえば、次のようなアプリを作れます。
Bashdotnet new console -n TodoCli
cd TodoCli
dotnet run
Todo管理、ファイル整理ツール、CSV変換ツール、ログ解析ツールなど、実用的な小物アプリも作れます。
8-2. ASP.NET CoreのWebアプリ・Web API
MacではASP.NET CoreのWebアプリやWeb APIも開発できます。バックエンドAPI、管理画面、認証機能、データベース連携などをC#で実装できます。
Web APIテンプレートを使う場合は、次のように作成します。
Bashdotnet new webapi -n MyApi
cd MyApi
dotnet run
ローカルで動作確認したあと、Azure、AWS、Google Cloud、Docker、Linuxサーバーなどにデプロイする構成も可能です。
8-3. Unityゲーム開発
UnityではC#を使ってゲームロジックを書きます。MacでもUnity Hubをインストールし、Unityプロジェクトを作成して、VS CodeやRiderでC#スクリプトを編集できます。
2Dゲーム、3Dゲーム、スマホゲーム、VR/AR、シミュレーション、教育コンテンツなど、C#を使った幅広い開発が可能です。
Unity開発では、コード補完やデバッグの快適さが生産性に直結します。本格的にUnityを使うなら、Riderは有力な選択肢です。
8-4. .NET MAUIによるクロスプラットフォームアプリ
.NET MAUIを使うと、C#とXAMLでAndroid、iOS、macOS、Windows向けのアプリを作れます。Microsoft公式ドキュメントでも、.NET MAUIは単一の共有コードベースから複数プラットフォーム向けのアプリを開発できると説明されています。Microsoft Learn
Macでは、iOSやmacOS向けの開発環境を整えやすい反面、Windows向けビルドやWindows固有機能の確認にはWindows環境が必要になることがあります。
.NET MAUIを始める場合は、.NET SDKだけでなく、Xcode、Android SDK、エミュレーター、各プラットフォームの要件も確認しましょう。
8-5. Azureやクラウド連携アプリ
C#はAzureとの相性がよく、Macからでもクラウド連携アプリを開発できます。ASP.NET Core Web API、Azure Functions、バックグラウンドジョブ、クラウドストレージ連携、認証機能などを構築できます。
VS CodeにはAzure関連の拡張機能があり、Riderでもクラウド開発に必要なプロジェクトを扱えます。Dockerと組み合わせれば、Mac上で開発し、Linuxコンテナとしてクラウドにデプロイする流れも作れます。
9. MacのC#開発でWindows環境が必要になるケース
9-1. Windows FormsやWPFを本格的に扱う場合
Windows FormsやWPFを使う場合は、Windows環境が必要です。.NET自体はクロスプラットフォームですが、Windows FormsとWPFはWindows向けのUIフレームワークです。Microsoft Learn+1
既存の社内システム、業務アプリ、デスクトップアプリがWindows FormsやWPFで作られている場合、Macでコードを読むことはできても、画面デザイナー、実行、デバッグ、動作確認はWindowsで行うのが基本です。
9-2. Windows専用APIやCOMを使う場合
C#プロジェクトがWindows専用APIに依存している場合も、Macだけで完結するのは難しいです。
たとえば、COM、レジストリ、Windowsサービス、イベントログ、Win32 API、Office COM連携、特定の業務用Windows SDKなどに依存するアプリは、Windows環境での開発・検証が必要になります。
この場合、MacでC#を書くことはできても、実行環境としてWindowsが必要です。
9-3. Parallels、リモートデスクトップ、クラウド開発環境の選択肢
MacでWindows向けC#開発を行う場合、代表的な選択肢は3つです。
1つ目は、Parallels DesktopなどでWindowsを仮想化する方法です。Mac上でWindowsを起動し、Windows版Visual Studioを使えます。Apple Silicon MacではWindows Arm環境になるため、使用するSDKやツールの互換性確認が必要です。
2つ目は、Windows PCや社内開発機にリモートデスクトップで接続する方法です。Macは操作端末として使い、実際のビルドや実行はWindows側で行います。
3つ目は、クラウド開発環境を使う方法です。クラウド上のWindows環境、Dev Box、仮想マシン、CI環境などを使えば、MacからWindows向けビルドを実行できます。
9-4. Macだけで完結できるケースとできないケースの判断基準
Macだけで完結しやすいのは、次のようなケースです。
コンソールアプリ、ASP.NET Core、Web API、クラスライブラリ、Unity、.NET MAUIのmacOS/iOS/Android中心の開発、クラウド向けバックエンドなどです。
Macだけで完結しにくいのは、WPF、Windows Forms、.NET Framework、COM、Windows専用SDK、Windows向けインストーラー、Windows UIの動作確認が必要なケースです。
判断基準は、「ターゲットがクロスプラットフォームの.NETか」「Windows専用UIやAPIに依存しているか」です。前者ならMac中心で開発できます。後者ならWindows環境を併用するのが安全です。
10. MacでC#開発を始める人向けのおすすめ構成
10-1. 初心者向け:.NET SDK+VS Code
初心者には、次の構成がおすすめです。
.NET SDKを公式インストーラーで入れます。VS Codeをインストールします。C# Dev Kitを追加します。ターミナルでdotnet new consoleを実行し、最初のコンソールアプリを作ります。
この構成なら、無料でC#の基本を学べます。最初から複雑なIDE機能を覚える必要がなく、C#と.NET CLIの基礎を理解しやすいです。
10-2. 本格開発向け:.NET SDK+Rider
本格的に.NET開発をするなら、.NET SDKとRiderの組み合わせがおすすめです。
ASP.NET Core、複数プロジェクトのソリューション、単体テスト、リファクタリング、デバッグ、NuGet管理などを日常的に使うなら、Riderの統合環境が役立ちます。
Visual Studio for Macから移行する人も、RiderならIDEとしての使い勝手を維持しやすいです。
10-3. Unity開発向け:Unity Hub+VS CodeまたはRider
Unity開発では、Unity Hub、Unity Editor、.NET SDK、VS CodeまたはRiderを用意します。
軽く始めるならVS Codeでも構いません。小規模なUnityプロジェクトや学習目的なら十分です。
本格的にUnityでゲーム開発をするなら、Riderが便利です。Unity向け補完、デバッグ、リファクタリングが強く、C#スクリプトの編集が快適になります。
10-4. チーム開発向け:Git、テスト、CI/CDも含めた構成
チーム開発では、エディタやIDEだけでなく、開発フロー全体を整えることが重要です。
Gitでソースコードを管理し、.slnと.csprojをチームで共有します。dotnet buildとdotnet testで誰でも同じようにビルド・テストできるようにします。必要なSDKバージョンはglobal.jsonやREADMEに明記します。
CI/CDでは、GitHub Actions、Azure Pipelines、GitLab CIなどを使い、プルリクエスト時に自動ビルドとテストを実行します。Windows専用機能がある場合は、CIの実行環境をWindowsにすることも検討します。
10-5. 迷ったときの最短ルート
迷ったら、次の順番で始めるのが最短です。
まず、.NET SDKをインストールします。次に、ターミナルでdotnet --versionを確認します。VS CodeとC# Dev Kitを入れます。dotnet new consoleでコンソールアプリを作ります。C#の基本文法を学びます。
その後、作りたいものに合わせて進みます。Web APIを作りたいならASP.NET Core、ゲームを作りたいならUnity、本格的な業務開発をしたいならRiderを導入します。
11. よくある質問:MacとC#開発の疑問
11-1. MacでVisual Studioは使えますか?
Mac向けのVisual Studio for Macは、2024年8月31日にサポート終了しています。Microsoft Learn そのため、これからMacでC#開発を始めるなら、Visual Studio for Macではなく、VS Code、Rider、.NET CLIを使うのが基本です。
Windows版Visual Studioを使いたい場合は、Windows PC、仮想環境、リモートデスクトップ、クラウド上のWindows環境を利用します。
11-2. MacでC#を無料で開発できますか?
はい、できます。.NET SDKは無料で入手でき、VS Codeも無料で使えます。C#の学習、コンソールアプリ、ASP.NET Coreの入門、小規模なWeb API開発であれば、無料構成で十分始められます。
Riderも非商用利用なら無料と案内されていますが、業務利用ではライセンス条件を確認してください。jetbrains.com
11-3. VS CodeだけでC#開発は十分ですか?
学習、小規模なコンソールアプリ、ASP.NET Coreの入門、簡単なWeb APIなら、VS Codeだけでも十分です。
ただし、大規模な.NETソリューション、複雑なリファクタリング、テスト管理、Unity開発、業務開発では、Riderのほうが快適な場合があります。
VS Codeで始めて、不便を感じたらRiderに移行するのがおすすめです。
11-4. Riderは有料でも使う価値がありますか?
本格的にC#/.NETを使うなら、Riderは十分に検討する価値があります。補完、コード解析、リファクタリング、デバッグ、テスト、NuGet管理、Unity連携などが統合されており、開発効率を上げやすいからです。
特に、業務で毎日C#を書く人、Visual Studio for Macから移行する人、Unity開発者、大きなソリューションを扱う人には向いています。
一方で、C#を学ぶだけなら、最初はVS Codeで十分です。
11-5. Macで.NET Frameworkの開発はできますか?
.NET Frameworkの本格的な開発は、基本的にWindows環境が必要です。Microsoftは、.NET FrameworkはWindowsで動作し、.NETはmacOSやLinuxも含むクロスプラットフォームであると説明しています。Microsoft
Macで扱いやすいのは、.NET Frameworkではなく、現在の.NETです。新規開発なら、.NET 8、.NET 9、.NET 10などの現行.NETを選ぶのが基本です。使用するバージョンは、プロジェクトやサポート期間に合わせて公式情報を確認してください。
11-6. MacでC#を学習するなら何から始めればいいですか?
MacでC#を学習するなら、まず.NET SDKとVS Codeを入れて、コンソールアプリから始めるのがおすすめです。
最初に学ぶ内容は、変数、条件分岐、ループ、配列、List、メソッド、クラス、例外処理、ファイル操作です。その後、LINQ、非同期処理、ASP.NET Core、Entity Framework Core、テストへ進むと実践的です。
ゲームを作りたい人はUnity、Web APIを作りたい人はASP.NET Core、業務アプリを作りたい人はRiderとデータベース連携まで学ぶとよいでしょう。
まとめ
MacでもC#開発はできます。Visual Studio for Macは終了しましたが、.NET SDK、VS Code、Rider、.NET CLIを使えば、現在でもmacOS上でC#/.NET開発は十分可能です。
初心者や学習目的なら、まずは「.NET SDK+VS Code」から始めるのがおすすめです。無料で導入でき、コンソールアプリやASP.NET Coreの基本を学ぶには十分です。
本格的な業務開発、複数プロジェクトのソリューション、Unity開発、強力なリファクタリングやデバッグを求めるなら、「.NET SDK+Rider」が有力です。Visual Studio for Macからの移行先としても現実的な選択肢です。
一方で、WPF、Windows Forms、.NET Framework、COM、Windows専用APIを使う場合は、Macだけで完結しないことがあります。その場合は、Windows仮想環境、リモートデスクトップ、クラウド開発環境を併用しましょう。
「c# macos」で環境構築に迷ったら、まずは.NET SDKを入れ、dotnet --versionを確認し、VS Codeで最初のコンソールアプリを動かすところから始めてください。そこまでできれば、MacでのC#開発の第一歩は完了です。

