想在阿里云 Linux 服務器跑 ASP.NET 網站?理論上可用 Mono + Apache/Nginx,但生產環境強烈不推薦。本文分析核心阻礙與最佳替代方案。
windows 標籤,Linux 下安裝失敗率高。| 問題類型 | 典型表現 | 修復成本 |
|---|---|---|
| 數據庫 | SqlClient 不支援、連接字串關鍵字差異 | 高(需改用 MySQL/PostgreSQL + 重寫 SQL) |
| 文件路徑 | 硬編碼 \\、Path.Combine 跨平台行為不同 | 中(全局替換為 Path.DirectorySeparatorChar) |
| 第三方組件 | ActiveX/COM、Excel Interop、Exchange SDK、MSMQ | 極高(需尋找跨平台替代庫或重寫業務) |
| 大小寫敏感 | Linux 文件系統區分大小寫,導致資源找不到 | 中(統一小寫或配置忽略大小寫掛載) |
「大項目根本不建議用這種非主流方案」—— 除非是極簡內部工具,否則遷移成本遠超 Windows 授權費。