Chạy dev / build
Cách build TMS.UI và chạy backend để xem code chạy thực tế.
Yêu cầu
- Visual Studio 2022 (hoặc
dotnetSDK). - Quyền truy cập DB development (để config Feature/Component qua app).
Build TMS.UI
TMS.UI là project Bridge.NET — biên dịch C# ra JavaScript.
cd E:\softek\coreui\TMS.UI
dotnet restore
dotnet build
Build xong, file JS xuất ra static folder của TMS.API. Đừng copy thủ công.
Chạy backend
cd E:\softek\coreui\TMS.API
dotnet run
Backend serve cả static FE lẫn API. Mở browser vào URL nó in ra (thường http://localhost:5xxx).
Vòng dev hàng ngày
- Mở Visual Studio, đặt
TMS.APIlàm startup project, nhấn F5 (chạy & attach debug). - Edit C# trong
TMS.UI/Business/.... - Rebuild
TMS.UI(Ctrl+Shift+B trong VS). - Hard refresh browser (
Ctrl+F5) để load JS mới. - Đăng nhập app → mở màn hình mình đang sửa.
Bridge.NET không có hot-reload. Mỗi lần đổi C# phải rebuild + refresh browser.
Sửa cấu hình DB (Feature / Component)
Không cần rebuild. Chỉ cần:
- Đăng nhập app.
- Mở màn hình Quản lý Feature (link trong menu admin).
- Sửa row → Save.
- F5 lại trang đang test → cấu hình mới có hiệu lực ngay.
Lỗi thường gặp
| Triệu chứng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Tab mở trắng | Feature thiếu hoặc all section Active=false | Mở Quản lý Feature → check feature đó. |
| Console: “property X not found on entity” | Component.FieldName không có trong entity | Sửa lại Name field (chính tả hoặc thêm property API). |
| Grid render nhưng không có cột | Thiếu GridPolicy cho grid đó | Quản lý Feature → tab GridPolicy → thêm cột. |
| Class C# vừa thêm không hoạt động | Chưa rebuild TMS.UI | dotnet build lại + hard refresh browser. |
| Save success nhưng dữ liệu không đổi | Children navigation chưa được lưu | Xem Lưu entity — pattern 2-pass. |
| Bridge build báo lỗi cú pháp lạ | Bridge không hỗ trợ feature C# mới (record, pattern…) | Viết lại theo C# 7.0-style, tránh syntax mới. |