#1 C#で学ぶ環境構築の基本

C#はMicrosoftが開発したプログラミング言語で、Windowsアプリからゲーム開発(Unity)、Webサービス、スマホアプリまで幅広い分野で使われています。かつては「Windowsでしか動かない言語」というイメージが強くありましたが、現在はMac・Linuxでも同じように学習できる環境が整っています。この記事では、C#の環境構築を、実際につまずきやすいポイントやエラー対処も含めて詳しく解説します。

.NET SDKのインストール

C#を動かすには、「.NET SDK」という開発キットをインストールします。SDKとは「Software Development Kit」の略で、プログラムを書くために必要な道具一式(コンパイラや実行環境など)がまとめて入っている箱のようなものです。公式サイト(dotnet.microsoft.com)からOSに合ったインストーラーをダウンロードして実行するだけで準備が整います。

インストール後、次のコマンドでバージョンを確認しましょう。

dotnet --version

ここで数字(例: 8.0.100 など)が表示されれば成功です。もし何も表示されず、後述のようなエラーが出た場合は、次のセクションを参考にしてください。

プロジェクトを作って実行する

C#では、フォルダを作成したあと次のコマンドで新しいプロジェクトのひな形を作成します。

dotnet new console

これだけで、すぐに動かせるサンプルコードとプロジェクトの設定ファイル(拡張子が「.csproj」のファイル)が自動生成されます。この.csprojファイルは、いわば「このプロジェクトの説明書」で、使っている.NETのバージョンや外部ライブラリの情報が書かれています。中身を無理に理解する必要はありませんが、「プロジェクトごとに1つ存在する設定ファイル」という程度に覚えておくと、後々エラーの原因を探るときに役立ちます。

実行するときは、そのフォルダで次のコマンドを使います。

dotnet run

画面に「Hello, World!」と表示されれば、環境構築は完了です。

よくあるエラーと対処法

環境構築でつまずくときは、たいてい決まったパターンのエラーに遭遇します。実際によく見るメッセージと、その原因・対処法をまとめました。

「'dotnet' is not recognized as an internal or external command」「dotnet: command not found」

Windowsでは前者、Mac・Linuxでは後者のようなメッセージが出ることがあります。これは「dotnetというコマンドがどこにあるか、パソコンが認識できていない」状態です。原因のほとんどは、インストール後にターミナル(コマンドプロンプトやPowerShell)を再起動していないことです。インストーラーがPATH(コマンドの場所を示す設定)を通してくれるのですが、それを反映するには一度ターミナルを閉じて開き直す必要があります。それでも直らない場合は、インストール自体が完了していない可能性があるので、公式サイトから再インストールを試してください。

SDKのバージョンが合わずビルドできない

「The current .NET SDK does not support targeting .NET 8.0」のようなメッセージが出ることがあります。これは、プロジェクトが要求している.NETのバージョンと、実際にインストールされているSDKのバージョンがずれていることが原因です。dotnet --list-sdksで今入っているSDKの一覧を確認し、公式サイトから該当バージョン(またはそれ以上)をインストールすれば解決します。学習用途では、基本的に最新のLTS(長期サポート)版を入れておけば困ることはあまりありません。

Visual Studioのインストールに時間がかかる・止まって見える

Visual Studioは非常に多機能なぶん、インストーラーのダウンロードサイズが大きく、環境によっては30分〜1時間程度かかることがあります。進捗バーが途中で止まって見えても、多くの場合は裏側でファイルの展開やコンポーネントの設定が進んでいるだけなので、極端に長時間(1時間以上)動きがない場合を除いては、そのまま待つのがおすすめです。インストール時に選択する「ワークロード」は、C#の学習だけであれば「.NETデスクトップ開発」を選んでおけば十分です。

ビルドは通るのに実行時にエラーが出る

コードの文法自体は正しいのに、実行した瞬間に赤いエラーメッセージ(例外)が出ることがあります。これは文法ミスではなく、プログラムの「動かし方」に問題があるケースがほとんどです。エラーメッセージには原因のヒントが書かれているので、慣れないうちは焦らず、メッセージをそのまま検索してみるのも有効な手段です。

つまずきやすいポイント・よくある質問(FAQ)

Q. Visual StudioとVisual Studio Code、どちらを使えばいいですか?

名前が似ていますが、性質の異なるソフトです。Visual Studioは統合開発環境(IDE)と呼ばれ、C#の開発に必要な機能(デバッガー、UIデザイナーなど)が最初からまとまって入っている、いわば「フル装備の作業場」です。一方Visual Studio Codeは軽量なテキストエディタで、拡張機能を追加することでC#開発にも対応できます。目安として、Windowsでガッツリ本格的に学びたい場合はVisual Studio、まずは軽く触ってみたい・Mac/Linuxでも使いたい場合はVisual Studio Code、という選び方をしている人が多い印象です。どちらが正解ということはなく、好みや環境で選んで問題ありません。

Q. ".NET Framework"と"Microsoft .NET"(いわゆる.NET 5以降)は何が違うのですか?

調べ物をしていると、この2つの名前が混在していて混乱しやすいポイントです。ざっくり言うと、.NET Frameworkは古くからあるWindows専用の仕組みで、現在は新規開発ではあまり使われなくなっています。一方、現在主流となっている「.NET」(バージョン5以降、名前から「Framework」や「Core」が外れたもの)は、Windows・Mac・Linuxのどれでも動くように作り直された新しい仕組みです。この記事で案内している.NET SDKは、後者の最新の.NETを指しています。ネット上の古い記事を参考にする際は、どちらの話をしているか少し意識すると混乱を避けられます。

Q. 結局、最初のエディタは何を使えばいいですか?

断定はできませんが、初めてで環境構築自体に不安がある場合は、Visual Studioの無料版(Community Edition)を素直にインストールしてしまうのも一つの手です。プロジェクトの作成や実行ボタンがあらかじめ用意されているため、コマンド操作に慣れる前でも迷いにくい構成になっています。慣れてきたら、軽快に動くVisual Studio Codeへ乗り換える、という流れを取る人も多いようです。

C#ならではの注意点と、他言語との考え方の違い

C#は元々Windows専用の技術という歴史的経緯があり、古い情報の中には「Windowsでしか動かない」という説明も見られます。しかし現在の.NETはクロスプラットフォーム化されており、Mac・Linuxでも同じコードが動きます。学習時に情報を調べる際は、記事の書かれた時期にも注意しておくと混乱を避けられます。

また、C#の環境構築は「SDKをインストールし、コマンド一つでプロジェクトの雛形を作る」という流れが一本化されているのが特徴です。言語によっては、実行環境とは別にパッケージ管理ツールやビルドツールを個別にインストールする必要があるものもありますが、C#(.NET)の場合はSDKの中にそれらの機能がまとめて含まれているため、追加でインストールするものが比較的少なく済みます。この「最初の一歩がまとまっている」という点は、これから環境構築を学ぶ人にとってはありがたいポイントと言えるでしょう。もちろん、どの言語にもそれぞれの合理的な設計思想があり、優劣をつけるものではありません。

まとめ

C#の環境構築は、.NET SDKをインストールしdotnet new consoleでプロジェクトを作るだけの手軽な流れです。つまずいたときの多くは、PATHが通っていない、SDKのバージョンが合っていない、といった決まったパターンに当てはまるので、慌てずにエラーメッセージを確認すれば解決できることがほとんどです。Windows専用という古いイメージにとらわれず、まずは気軽にdotnet runを試してみましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

C#をもっと学びたい方には「確かな力が身につくC#「超」入門 第2版」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本