Mac に C# 環境(.NET)を作る
August 25, 2022
Mac で C# の実行環境を作成したい場合、方法は2つあります。
- A) Visual Studio (for Mac) をインストールする
- B) .NET だけをインストールする
どちらの方法にするかは、使用したいエディタによって決めてしまうと良いでしょう。
C# を動かすのに必要なのは .NET だけです。
前者の場合、Visual Studio をインストールする際に .NET も合わせてインストールされます。そのため、エディタとして Visual Studio を使用するつもりなのであれば、こちらを選ぶと楽です。
(Visual Studio ではなく)Visual Studio Code などをエディタに使いたいのであれば、後者で .NET だけをインストールするのが良いでしょう。
私は後者の方法を選択しました。そのためそちらだけ説明が詳細になります。
A) Visual Studio (for Mac) をインストールする #
以下の公式ドキュメントに従えば大丈夫です。
- Visual Studio for Mac をインストールする - Visual Studio for Mac | Microsoft Docs
- https://docs.microsoft.com/ja-jp/visualstudio/mac/installation
B) .NET だけをインストールする #
公式のドキュメントは以下にありますが …
- macOS に .NET をインストールする - .NET | Microsoft Docs
- https://docs.microsoft.com/ja-jp/dotnet/core/install/macos
私は可能なかぎり Homebrew でインストールするのが好みなので、下記でインストールします。
https://formulae.brew.sh/cask/dotnet-sdk
brew install --cask dotnet-sdk
完了後は以下を実行してインストールされていることを確認します。
# インストールされている .NET SDK のバージョンを表示
dotnet --list-sdks
- 参考:.NET が既にインストールされていることを確認する方法 | Microsoft Docs
- https://docs.microsoft.com/ja-jp/dotnet/core/install/how-to-detect-installed-versions
補足:Hello World コンソールアプリの作成 #
環境が用意できたら、以下で Hello World サンプルを試すことができます。
mkdir HelloWorldExample
cd HelloWorldExample
dotnet new console
dotnet run
# "Hello, World!" がコンソールに表示される
プロジェクトを開くと以下のコードが作成されているはずです。
Program.cs
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!!!");
補足:テンプレートの種類 #
dotnet new
で作成できるテンプレートの種類は多数あります。さきほどのサンプルでは console
テンプレートを指定しました。次のコマンドでテンプレート一覧を表示することができます。
dotnet new --list
These templates matched your input:
Template Name Short Name Language Tags
-------------------------------------------- -------------- ---------- --------------------------
ASP.NET Core Empty web [C#],F# Web/Empty
ASP.NET Core gRPC Service grpc [C#] Web/gRPC
ASP.NET Core Web API webapi [C#],F# Web/WebAPI
ASP.NET Core Web App webapp,razor [C#] Web/MVC/Razor Pages
ASP.NET Core Web App (Model-View-Controller) mvc [C#],F# Web/MVC
ASP.NET Core with Angular angular [C#] Web/MVC/SPA
ASP.NET Core with React.js react [C#] Web/MVC/SPA
Blazor Server App blazorserver [C#] Web/Blazor
Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly/PWA
Class Library classlib [C#],F#,VB Common/Library
Console App console [C#],F#,VB Common/Console
dotnet gitignore file gitignore Config
Dotnet local tool manifest file tool-manifest Config
EditorConfig file editorconfig Config
global.json file globaljson Config
MSTest Test Project mstest [C#],F#,VB Test/MSTest
MVC ViewImports viewimports [C#] Web/ASP.NET
MVC ViewStart viewstart [C#] Web/ASP.NET
NuGet Config nugetconfig Config
NUnit 3 Test Item nunit-test [C#],F#,VB Test/NUnit
NUnit 3 Test Project nunit [C#],F#,VB Test/NUnit
Protocol Buffer File proto Web/gRPC
Razor Class Library razorclasslib [C#] Web/Razor/Library
Razor Component razorcomponent [C#] Web/ASP.NET
Razor Page page [C#] Web/ASP.NET
Solution File sln Solution
Web Config webconfig Config
Worker Service worker [C#],F# Common/Worker/Web
xUnit Test Project xunit [C#],F#,VB Test/xUnit
補足:VS Code の C# 拡張 #
VS Code で C# のコードを書くのであればこちらを入れておきましょう。Microsoft 公式も入れることを推奨しています。
- C# - Visual Studio Marketplace
- https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp
補足:VS Code の C# フォーマット設定 #
settings.json
に以下を追記しましょう。フォーマットを実行した際にコードが整形されます。
"[csharp]": {
"editor.defaultFormatter": "ms-dotnettools.csharp"
},
フォーマッタは .NET 6 からデフォルトで組み込まれるようになりました。そのため 6 以前のバージョンを利用するのであれば別途インストール作業が必要です。