2010-02-03 25 views
5

Lợi ích của việc biên dịch trước dự án ASP.NET bằng aspnet_compiler.exe là gì?Whats lợi thế của việc biên dịch dự án ASP.NET bằng aspnet_compiler.exe là gì?

Ngoài ra, liệu có khả năng dự án được biên dịch sẽ có lỗi sau khi nó được triển khai tới máy chủ từ xa không? Có một vấn đề được đưa ra bởi nhóm có thể nếu máy nơi dự án được biên soạn và máy chủ nơi dự án sẽ được triển khai sẽ có các cài đặt khác nhau, dự án sẽ không chạy hoặc chạy sai. Có ai gặp phải tình huống này không?

Trả lời

2

tôi thấy hai lý do nguyên tắc:

  1. Compile time error kiểm tra.
  2. Tránh tính phí biên dịch trên trang đầu tiên.

Đầu tiên trong số này cho phép phát hiện nhiều lỗi hơn trong khi đang phát triển (ví dụ: lỗi đánh máy trong tên thuộc tính) thay vì nhận màn hình màu vàng chết. Nếu mã được đề cập là đường dẫn lỗi, có thể khó đảm bảo mức độ kiểm tra để mọi thứ có thể bị trượt.

Điều này không thể đảm bảo rằng sẽ không có lỗi trong quá trình sản xuất. Rõ ràng các lỗi logic sẽ không được tìm thấy tại thời gian biên dịch, cũng như sẽ không bị lỗi xử lý (tên nhưng hai loại lỗi lớn).

Ngoài ra, nó sẽ không ngăn chặn sự cố tham chiếu bị thiếu do thiếu lắp ráp (có trên máy phát triển nhưng không được triển khai để sản xuất). Vì vậy, thực hành tốt vẫn là để có một môi trường dàn dựng (điều này cũng có thể là để thử nghiệm chấp nhận) được xử lý bởi các nhà phát triển và kiểm thử như thể nó là sản xuất --- chỉ truy cập là triển khai phiên bản đã sửa (không sửa trực tiếp) để sửa tất cả bắt đầu phát triển (và kiểm soát nguồn).

+0

Có quan điểm của bạn ở đó, cảm ơn bạn rất nhiều. Nhưng, làm thế nào về câu hỏi thứ hai của tôi, sẽ có cơ hội mà sau khi biên dịch nó trong máy địa phương của tôi và triển khai nó vào một máy chủ, trang web sẽ có lỗi? Nguyên nhân có thể là do các cài đặt trên máy tính của tôi và máy chủ khác với số lượng/loại cpu có lẽ? –

+0

@mcxiand: Xem hai đoạn cuối cùng giải quyết câu hỏi thứ hai của bạn. – Richard

+0

Tôi thấy nó nhưng nó không giải quyết cho câu hỏi. Tôi đang nói về "thiết lập máy" không phải là lỗi logic hoặc thiếu lắp ráp. –

2

Một lợi thế khác là bảo vệ mã nguồn của bạn nếu bạn phải triển khai đến một môi trường không tin cậy (ví dụ: lưu trữ được chia sẻ), vì bạn chỉ triển khai các tệp nhị phân khiến cho bên thứ ba khó thực hiện bất kỳ kỹ thuật đảo ngược nào hơn tất cả các tệp .cs của bạn ở đó.

Bạn sẽ không thấy bất kỳ vấn đề đa nền tảng nào từ việc thực hiện quá trình biên dịch. Hãy xem câu trả lời this giải thích cách .NET chạy trên các kiến ​​trúc khác nhau.

Các vấn đề liên quan