Tôi thấy lỗi sau đây bị cắt đôi (dường như ngẫu nhiên) trên ứng dụng web của tôi. Chúng tôi đang chạy Windows Server 2008R2, IIS 7.5, MVC3, .NET 4.5.Định kỳ xem lỗi ASP.NET CS0656: Thiếu trình biên dịch yêu cầu thành viên
Đó là lỗi tương tự mỗi khi: CS0656: Thiếu biên dịch cần thành viên 'Microsoft.CSharp.RuntimeBinder.Binder.BinaryOperation'
Khi lỗi này xảy ra, nó có thể mất bất cứ điều gì từ một khởi động lại nhóm ứng dụng, để cài đặt lại chính ứng dụng của chúng tôi, để sửa chữa nó.
Lỗi xảy ra trên hình ảnh VM hoàn toàn mới (không cài đặt trước phần mềm của chúng tôi), cũng như các máy trước đó đã cài đặt phần mềm của chúng tôi trên đó. Lỗi có thể xảy ra khi lần chạy đầu tiên của ứng dụng, hoặc khi ứng dụng đã ngồi đủ lâu để nhóm ứng dụng IIS tái chế quy trình công nhân (có vẻ như vậy).
Điều này đang trở nên thực sự khó giải quyết, vì tôi đã thực hiện rất nhiều nghiên cứu về lỗi này và đã thử nhiều giải pháp, không có may mắn. Ngoài ra, tần số ngẫu nhiên mà tại đó lỗi xảy ra đã làm cho nó rất khó để khắc phục sự cố. Bất kỳ thông tin chi tiết nào về vấn đề này hoặc các ý tưởng về các giải pháp có thể sẽ được đánh giá cao. Tôi sẵn sàng thử hầu hết mọi thứ vào thời điểm này.
1) Bạn có thể đính kèm trình gỡ rối vào một trong các máy ảo thử nghiệm của mình và làm cho máy bị lỗi không? 2) Bạn đang sử dụng DLR? Nhìn qua nguồn và tài liệu BCL, có vẻ như tên loại được liên kết với các hoạt động động. Hoặc có lẽ đó là MVC của việc sử dụng DLR? –
Bạn có thể kiểm tra phiên bản Microsoft.CSharp.dll nào được sử dụng (xác định đường dẫn bằng công cụ như procexp), mở nó bằng công cụ như .NET Reflector và kiểm tra phương thức tĩnh BinaryOperation không? Đó có thể là một vấn đề phiên bản (trình biên dịch dự kiến một phiên bản mới hơn của Microsoft.CSharp.dll) –
Bạn có đang sử dụng các tính năng ngôn ngữ động của C#? Và dù sao nó trông giống như một CLR bị hỏng. –