.NETの利用方法
ServBayはmacOS上で.NET開発者向けに、便利で高効率な開発環境を提供します。ServBayのパッケージ管理システムを利用することで、最新の.NET(.NET Coreやその後継バージョン)や伝統的なMonoフレームワークなど、さまざまな.NET SDKバージョンを簡単にインストール・管理・利用できます。これにより、プロジェクトの要件に合わせた柔軟な開発が可能です。
概要
.NETプラットフォームの歴史とmacOSサポート状況
.NETはマイクロソフトが開発した多機能な開発プラットフォームです。その歴史とバージョンの流れを理解することは、macOSでの.NET開発において重要です。
.NET Framework(初期バージョン): 2002年リリースの.NET Frameworkは、Microsoftの代表的な開発基盤ですが、主にWindows専用として設計されてきました。共通言語ランタイム(CLR)と巨大なクラスライブラリ(FCL)を含みますが、macOSで直接.NET Frameworkアプリを動かすことは基本的にできません。
Mono(クロスプラットフォームの先駆け): LinuxやmacOSなど非Windows環境でも.NETアプリを動かせるように、コミュニティ(初期Ximian、後にNovellおよびXamarin/Microsoft支援)がMonoを開発しました。Monoは**.NET Frameworkのオープンソースでクロスプラットフォームな実装**です。C#アプリをはじめ、.NET Framework向けアプリやライブラリもmacOSやLinux上で動作可能にします。旧来の.NET Framework資産をmacOSで利用したい場合、今なおMonoは有用です。
.NET Core / .NET 5以降(現代的クロスプラットフォーム標準): クロスプラットフォーム対応の必要性から、Microsoftは.NET Coreをゼロから設計。モダン・高性能・オープンソース・完全クロスプラットフォームな.NETの実装で、Windows/macOS/Linuxに対応します。.NET Core 3.1以降は「.NET」に改称され(バージョン5から、4系との混同回避のため4はスキップ)、**「.NET SDK」**と言った場合、通常はこのモダンでクロスプラットフォームなバージョン(.NET 5, 6, 7, 8, 9, 10 等)を指します。現在、macOS含む新規アプリはこの「.NET」系で開発するのがMicrosoft推奨です。
ServBayの.NETサポート
ServBayは.NETの歴史と開発ニーズの多様性を理解し、以下の機能を提供します:
- モダン.NET SDKパッケージ: .NET(Core)各バージョン(例:.NET SDK 2.0〜10.0)を用意。最新版のC#、F#、ASP.NET Coreでクロスプラットフォーム開発が可能。
- Monoパッケージ: Monoランタイム(例:Mono 6)も提供。主に旧.NET Framework資産または特定ライブラリのmacOS開発・実行用途、旧ASP.NET(Web Forms, System.Web MVC)の限定的サポートも含む。
- 複数同時インストール: .NET SDKとMonoの複数バージョンを同時にインストール可能。
- プロジェクトごとのバージョン管理:
.servbay.config
ファイルで、各プロジェクト単位に利用したい.NET SDKバージョンを指定。 - 簡単な管理: ServBayのGUIを通じ、各種SDKやMonoバージョンのインストール・アンインストールが直感的に行えます。
.NETパッケージへのアクセス
- ServBayアプリを起動します。
- 左メニューの
パッケージ(Packages)
をクリック。 パッケージ
画面で下スクロール、または左のカテゴリからLanguages
→.NET
を選択。- 右側に全ての利用可能な.NET SDKおよびMonoパッケージ一覧が表示されます。
.NET SDKのインストール
パッケージ一覧では、それぞれの.NET SDKバージョンの状態を分かりやすく表示:
- パッケージ名(Package Name): 例:
.NET SDK 8.0
やMono 6
- バージョン(Version): そのパッケージの具体的なバージョン番号
- 状態(Status):
Installed
(インストール済み)またはNot Installed
(未インストール) - 操作(Control): 各種操作用ボタン
インストールされていないSDKバージョン(例:.NET SDK 10.0
)をインストールする場合:
- 目当てのバージョンを一覧から探します。
- 状態が
Not Installed
であることを確認してください。 - 行の右端にある**ダウンロード/インストール(Download/Install)**アイコン(通常は下向き矢印)をクリック。
- ServBayが該当SDKのダウンロードとインストールを開始します。ネットワーク環境やSDKサイズによって数分程度かかる場合があります。
- インストール完了後、状態が
Installed
に変わり、操作アイコンもアンインストール(Uninstall)(ゴミ箱アイコン)へ変更されます。
インストール済みSDKの管理
- インストール済バージョンの確認: 一覧で
Installed
と表示されたものが、現在利用可能な全.NET SDKおよびMonoバージョンです。 - SDKのアンインストール: 不要なバージョンは、対象の**アンインストール(Uninstall)**アイコン(ゴミ箱)をクリックし、確認ダイアログに従えばシステムから削除できます。
インストール済.NET SDKの利用
ServBayで.NET SDKをインストールすると、対応するdotnet
コマンドラインツールが自動的にPATH環境変数に追加されます(ServBay環境がアクティブな場合)。これによりmacOSのターミナル(Terminal)で直接dotnet
コマンドを使用できます。
主なコマンド例:
利用可能なSDKの一覧確認: ターミナルで以下を実行:
bashdotnet --list-sdks
1ServBayで管理されている全インストール済み.NET SDKバージョンとそのパスが表示されます。
現在選択中のSDKバージョン確認(通常は最新またはグローバル設定):
bashdotnet --version
1新しいコンソールアプリケーションの作成(デフォルトSDK利用):
bash# MyConsoleAppという名前のプロジェクトディレクトリを作成 mkdir MyConsoleApp cd MyConsoleApp # デフォルトのSDKで新しいコンソールプロジェクトを作成 dotnet new console
1
2
3
4
5
6アプリの実行:
bashdotnet run
1特定SDKバージョンの利用(必要時): プロジェクトで指定バージョンが必要な場合、
global.json
ファイルを作成して明示できます。プロジェクトのルートディレクトリに以下のように作成します:json{ "sdk": { "version": "8.0.408" // プロジェクトで必要・インストール済みSDKのバージョンを指定 } }
1
2
3
4
5そのディレクトリ内で
dotnet
コマンドを実行すると、global.json
記載バージョンが優先されます。
Monoのサポート
標準の.NET SDKの他、ServBayはMonoのインストールもサポートしています。Monoは.NET Frameworkのオープンソースかつクロスプラットフォームな実装であり、.NET Framework特有の機能依存アプリの開発や実行に役立ちます。Monoのインストール・削除手順は.NET SDKと全く同じです。
Monoは主に、.NET Frameworkでビルドされたアプリ(.exe
ファイル)の実行や、Mono環境が必要なツール利用、**旧ASP.NETアプリの利用**にも適しています。
Monoバージョンの確認:
bashmono --version
1.NET Frameworkアプリの実行: 例として、.NET Frameworkでビルドされた
LegacyApp.exe
を実行する場合:bashmono LegacyApp.exe
1旧ASP.NETアプリの実行(限定サポート): Monoには
xsp
という簡易Webサーバーが付属しており、開発環境で古いASP.NET Web FormsやSystem.Web MVCアプリを起動できます。また、Nginx
+FastCGI
やApache
+mod_mono
と連携可能です。重要注意点:
- この方法はASP.NET Frameworkへの互換性が限定的であり、特にWindows依存の機能を使うアプリでは完全な動作は保証できません。
- パフォーマンスもWindows/IIS環境に劣る場合があります。
- 新規プロジェクト用途には推奨しません。 モダンなWeb開発はASP.NET Coreの利用を推奨します。
- ServBayでは、詳しい手順を解説したドキュメントがあります:macOSでASP.NET Framework 4.xサイトを動かす方法。
どうしても実行が必要な場合(テスト・保守等)は、アプリや設定に応じて以下のようなコマンド例が利用可能です:
bash# 例:指定ディレクトリでxspサーバー起動 # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4は.NET 4.x対応)
1
2
3
Webサーバー(ASP.NET Core)の統合
ServBayでインストールした.NET SDKを使えば、ASP.NET Core Webアプリケーションの開発が可能です。アプリ公開時は、ServBay内蔵Webサーバー(Nginx, Caddy, Apache等)を活用できます:
dotnet publish
コマンドでASP.NET Coreアプリをビルド・公開。- ServBayで新規**ウェブサイト(Website)**を追加。
- サイト設定でリバースプロキシを構成し、Kestrelサーバーがリクエストを受けるポート(例:
http://localhost:5000
)に転送。リバースプロキシの具体設定方法は選択したWebサーバー(Nginx, Caddy, Apache等)に依存します。
詳細なサイト追加やリバースプロキシ設定手順は、ServBay関連ドキュメントを参照してください。
まとめ
ServBayはmacOS上での.NET開発環境の構築・管理を格段にシンプルにします。分かりやすいGUIで、複数の.NET SDK・Monoのインストールや切替・削除が自在に行え、C#やF#、ASP.NET Coreアプリ中心の開発・検証に集中できます。