Sử dụng .NET
ServBay mang đến cho lập trình viên .NET một môi trường phát triển thuận tiện và hiệu quả trên macOS. Thông qua hệ thống quản lý gói của ServBay, bạn có thể dễ dàng cài đặt, quản lý và vận hành đồng thời nhiều phiên bản .NET SDK, bao gồm cả .NET hiện đại (tức là .NET Core và các phiên bản về sau) cùng framework Mono cổ điển, nhằm đáp ứng đa dạng nhu cầu dự án của bạn.
Tổng quan
Lịch sử .NET và hỗ trợ trên macOS
.NET là một nền tảng phát triển đa năng do Microsoft phát triển. Hiểu về lịch sử và sự phát triển của .NET giúp bạn nhận thức rõ khả năng tương thích của nó trên macOS:
.NET Framework (Phiên bản gốc): Ra mắt lần đầu năm 2002, .NET Framework là nền tảng phát triển chủ lực của Microsoft nhưng chỉ thiết kế chủ yếu cho hệ điều hành Windows. Nó bao gồm Common Language Runtime (CLR) và một thư viện lớp nền tảng (FCL) lớn. Thông thường, các ứng dụng .NET Framework không thể chạy trực tiếp trên macOS.
Mono (Tiên phong đa nền tảng): Để đưa các ứng dụng .NET lên Linux và macOS, cộng đồng (bắt đầu từ Ximian, sau đó là Novell và được Xamarin/Microsoft hỗ trợ) đã phát triển Mono — một bản triển khai mã nguồn mở, đa nền tảng của .NET Framework. Mono cho phép lập trình viên phát triển và chạy các ứng dụng viết cho .NET Framework (đặc biệt là C#) trên macOS và Linux. Mono vẫn rất hữu ích khi bạn cần chạy/thử nghiệm những dự án hoặc thư viện cũ trên macOS.
.NET Core / .NET 5+ (Tiêu chuẩn đa nền tảng hiện đại): Nhận thức tầm quan trọng của phát triển đa nền tảng, Microsoft đã phát triển .NET Core từ đầu — một nền tảng hiệu suất cao, hiện đại, mã nguồn mở và hoàn toàn đa nền tảng, tương thích Windows, macOS, Linux. Sau bản .NET Core 3.1, Microsoft đổi tên thành .NET (phiên bản 5 trở lên, bỏ qua số 4 để tránh nhầm với .NET Framework 4.x). Khi nói đến .NET SDK, thường ám chỉ các phiên bản hiện đại, đa nền tảng này (.NET 5, 6, 7, 8, 9, 10,...). Đây là nền tảng Microsoft khuyến nghị để phát triển ứng dụng mới trên mọi hệ điều hành, kể cả macOS.
ServBay hỗ trợ .NET như thế nào?
ServBay hiểu rõ lịch sử .NET cũng như nhu cầu đa dạng của lập trình viên và cung cấp:
- Các gói .NET SDK hiện đại: Bao gồm nhiều phiên bản .NET (Core) như .NET SDK từ 2.0 đến 10.0, giúp bạn sử dụng mới nhất của C#, F# và ASP.NET Core để phát triển đa nền tảng.
- Gói Mono: Có sẵn runtime Mono (ví dụ Mono 6), hỗ trợ chạy/phát triển các dự án cũ hoặc thư viện đặc biệt yêu cầu .NET Framework trên macOS, bao gồm hỗ trợ hạn chế cho ASP.NET cổ điển (Web Forms, System.Web MVC).
- Cài đặt song song: Bạn có thể cài nhiều phiên bản .NET SDK và Mono cùng lúc.
- Kiểm soát phiên bản cho từng dự án: Sử dụng file
.servbay.config
để định nghĩa phiên bản .NET SDK hiện đại cho từng dự án. - Quản lý đơn giản: Giao diện đồ họa trực quan giúp bạn xem, cài hoặc gỡ cài đặt các phiên bản SDK/Mono dễ dàng.
Truy cập các gói .NET
- Mở ứng dụng ServBay.
- Trên thanh điều hướng bên trái, nhấn vào
Gói phần mềm (Packages)
. - Trong trang
Packages
, cuộn xuống hoặc chọnLanguages
->.NET
từ danh mục phụ bên trái. - Khu vực bên phải sẽ hiện danh sách tất cả các gói .NET SDK và Mono khả dụng.
Cài đặt .NET SDK
Danh sách gói thể hiện trạng thái từng phiên bản .NET SDK rõ ràng:
- Tên gói: Như
.NET SDK 8.0
hoặcMono 6
. - Phiên bản: Số hiệu phiên bản cụ thể của gói.
- Trạng thái: Hiện thị là
Đã cài đặt (Installed)
hoặcChưa cài đặt (Not Installed)
. - Điều khiển: Các nút thao tác.
Để cài một phiên bản .NET SDK chưa được cài (ví dụ .NET SDK 10.0
):
- Tìm phiên bản mong muốn trong danh sách.
- Đảm bảo trạng thái của nó là
Not Installed
. - Nhấn vào biểu tượng Tải về/Cài đặt (Download/Install) ở ngoài cùng bên phải (thường là mũi tên hướng xuống).
- ServBay sẽ bắt đầu tải và cài đặt gói SDK đã chọn – quá trình này có thể mất chút thời gian, phụ thuộc vào tốc độ mạng và kích thước SDK.
- Khi cài đặt thành công, trạng thái chuyển thành
Installed
và biểu tượng điều khiển đổi thành nút Gỡ cài đặt (Uninstall) (thùng rác).
Quản lý SDK đã cài đặt
- Xem các phiên bản đã cài: Trạng thái
Installed
hiển thị rõ các .NET SDK và Mono hiện có trên môi trường của bạn. - Gỡ cài đặt SDK: Khi không còn cần một phiên bản SDK, chỉ cần nhấn biểu tượng Gỡ cài đặt (Uninstall) (thùng rác) tương ứng rồi xác nhận, SDK sẽ được xóa khỏi hệ thống.
Sử dụng .NET SDK đã cài
Sau khi .NET SDK được cài qua ServBay, lệnh dotnet
thường sẽ được thêm vào biến môi trường PATH (khi môi trường ServBay được kích hoạt). Nghĩa là bạn có thể chạy trực tiếp các lệnh dotnet
ngay trên Terminal của macOS.
Các lệnh thường dùng:
Kiểm tra các phiên bản SDK sẵn có: Mở Terminal, chạy:
bashdotnet --list-sdks
1Lệnh này liệt kê tất cả .NET SDK do ServBay quản lý đã cài cùng đường dẫn của chúng.
Kiểm tra phiên bản SDK đang hoạt động (thường là bản mới nhất hoặc bản được đặt mặc định):
bashdotnet --version
1Khởi tạo ứng dụng Console mới (dùng SDK mặc định):
bash# Tạo thư mục dự án tên MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Tạo mới dự án console với SDK mặc định dotnet new console
1
2
3
4
5
6Chạy ứng dụng:
bashdotnet run
1Sử dụng phiên bản SDK cụ thể (nếu cần): Nếu dự án của bạn yêu cầu một SDK cụ thể, hãy xác định nó qua file
global.json
. Tạo fileglobal.json
trong thư mục gốc dự án với nội dung:json{ "sdk": { "version": "8.0.408" // Chỉ định phiên bản SDK đã cài đặt mà dự án yêu cầu } }
1
2
3
4
5Khi chạy lệnh
dotnet
trong thư mục dự án, nó sẽ ưu tiên phiên bản SDK xác định trongglobal.json
.
Hỗ trợ Mono
Bên cạnh .NET SDK tiêu chuẩn, ServBay cũng hỗ trợ cài đặt Mono — bản triển khai mã nguồn mở, đa nền tảng của .NET Framework. Nếu cần phát triển hoặc chạy ứng dụng phụ thuộc đặc tính riêng của .NET Framework, bạn hãy cài Mono trong ServBay. Quy trình cài/gỡ Mono hoàn toàn giống như .NET SDK.
Mono thích hợp để chạy các chương trình biên dịch cho .NET Framework (.exe
) hoặc các công cụ yêu cầu môi trường Mono, kể cả chạy ứng dụng ASP.NET cổ điển.
Kiểm tra phiên bản Mono:
bashmono --version
1Chạy tệp thực thi .NET Framework: Giả sử bạn đã có tệp
LegacyApp.exe
biên dịch cho .NET Framework:bashmono LegacyApp.exe
1Chạy ứng dụng ASP.NET cổ (hỗ trợ hạn chế): Mono cung cấp trình Web Server đơn giản là
xsp
, dùng khi thử nghiệm các dự án Web Forms hoặc System.Web MVC cổ điển. Có thể tích hợp vớiNginx
+FastCGI
hayApache
+mod_mono
.Lưu ý quan trọng:
- Tương thích với ASP.NET Framework còn hạn chế – không phải mọi ứng dụng đều chạy hoàn hảo, nhất là app phụ thuộc nhiều chức năng riêng của Windows.
- Hiệu năng thường thấp hơn so với chạy trên Windows/IIS.
- Không khuyên dùng để phát triển dự án mới. Nên ưu tiên ASP.NET Core cho phát triển web hiện đại.
- ServBay có tài liệu đầy đủ: Cách chạy website ASP.NET Framework 4.x trên macOS.
Nếu thật sự cần chạy thử/duy trì, bạn có thể dùng lệnh kiểu sau (tùy app và cấu hình):
bash# Ví dụ: Chạy xsp server trong thư mục chỉ định # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 dành cho .NET 4.x)
1
2
3
Tích hợp Web Server (ASP.NET Core)
Với .NET SDK cài qua ServBay, bạn có thể phát triển ứng dụng web ASP.NET Core. Khi triển khai, bạn có thể tích hợp với Web Server mạnh mẽ trong ServBay (Nginx, Caddy hoặc Apache):
- Dùng lệnh
dotnet publish
để đóng gói ứng dụng ASP.NET Core. - Thêm một Website mới trong ServBay.
- Cấu hình để website hoạt động như reverse proxy, chuyển tiếp request đến port mà Kestrel server của app ASP.NET Core đang lắng nghe (ví dụ
http://localhost:5000
). Cách cấu hình proxy tùy vào Web Server bạn chọn (Nginx, Caddy, hoặc Apache).
Tham khảo tài liệu ServBay về thêm website và cấu hình reverse proxy chi tiết.
Tổng kết
ServBay đơn giản hóa tối đa việc xây dựng và quản lý môi trường phát triển .NET trên macOS. Với giao diện trực quan, lập trình viên dễ dàng cài đặt, chuyển đổi và gỡ nhiều phiên bản .NET SDK và Mono, giúp bạn tập trung phát triển và kiểm thử ứng dụng C#, F# và ASP.NET Core hiệu quả hơn.