Nguon: Microsoft Learn · .NET 8.0

Thay đổi vi phạm: Razor runtime compilation (biên dịch thời gian chạy) đã lỗi thời

Nguồn: Razor run-time compilation is obsolete

Razor runtime compilation (biên dịch thời gian chạy Razor) đã lỗi thời và không được khuyến nghị cho các kịch bản production (môi trường sản xuất). Đối với kịch bản production, hãy sử dụng biên dịch tại thời điểm build (build-time compilation) mặc định. Đối với kịch bản phát triển, hãy sử dụng Hot Reload thay thế.

Phiên bản được giới thiệu

.NET 10 Preview 7

Hành vi trước đây

Trước đây, bạn có thể sử dụng Razor runtime compilation để biên dịch lại các tệp .cshtml trong khi ứng dụng đang chạy. Điều này có nghĩa là bạn không cần khởi động lại ứng dụng để các thay đổi có hiệu lực.

Hành vi mới

Bắt đầu từ .NET 10, việc sử dụng các API bị ảnh hưởng sẽ tạo ra cảnh báo trình biên dịch với ID chẩn đoán ASPDEPR003:

warning ASPDEPR003: Razor runtime compilation is obsolete and is not recommended for production scenarios. For production scenarios, use the default build time compilation. For development scenarios, use Hot Reload instead. For more information, visit https://aka.ms/aspnet/deprecate/003.

Loại thay đổi vi phạm

Thay đổi này có thể ảnh hưởng đến khả năng tương thích nguồn (source compatibility).

Lý do thay đổi

Razor runtime compilation đã được thay thế bởi Hot Reload, vốn đã là cách tiếp cận được khuyến nghị trong vài năm qua. Thay đổi này làm rõ hơn rằng Razor runtime compilation không nhận được hỗ trợ cho các tính năng mới và không nên được sử dụng nữa.

Hành động được khuyến nghị

Xóa các lệnh gọi đến AddRazorRuntimeCompilation và sử dụng Hot Reload thay thế.

Các API bị ảnh hưởng