Tôi cũng đã phải đối mặt với vấn đề này khi cố gắng chạy một dự án .NET .NET MVC sau một bản cập nhật nhỏ cho cơ sở mã của chúng tôi, mặc dù nó đã được biên dịch mà không có lỗi:
Thông báo lỗi trình biên dịch: CS0012: Loại 'System.Object' được xác định trong một cụm không được tham chiếu. Bạn phải thêm một tham chiếu để lắp ráp 'System.R.78, Version = 4.0.0.0, Culture = trung tính, PublicKeyToken = b03f5f7f11d50a3a'.
Dự án của chúng tôi chưa bao giờ gặp phải vấn đề này, vì vậy tôi đã nghi ngờ về việc thay đổi các tệp cấu hình trước khi tìm ra nguyên nhân gốc. Từ nhật ký lỗi, tôi có thể xác định vị trí đầu ra của trình biên dịch chi tiết này, điều này chỉ ra điều gì đang thực sự xảy ra:
cảnh báo CS1685: Loại được xác định trước 'System.R nb.CompilerService.ExtensionAttribution ' được định nghĩa trong nhiều cụm trong bí danh toàn cầu; sử dụng định nghĩa từ 'c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ mscorlib.dll'
c: \ Users \ Admin \ Development Development \ source-control \ Binaries \ Publish \ WebApp \ Views \ Account \ Index.cshtml (35,20): lỗi CS0012: Loại 'System.Object' được định nghĩa trong một hội đồng không được tham khảo. Bạn phải thêm một tham chiếu để lắp ráp 'System.R.78, Version = 4.0.0.0, Culture = trung tính, PublicKeyToken = b03f5f7f11d50a3a'.
c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Tệp ASP.NET tạm thời \ meseems.webapp \ 68e2ea0f \ 8c5ee951 \ assembly \ dl3 \ 52ad4dac \ 84698469_3bb3d401 \ System.Collections.Imm lỗi trước đó)
Rõ ràng một gói mới được thêm vào dự án của chúng tôi đã tham chiếu một phiên bản .NET Framework cũ hơn, gây ra vấn đề "định nghĩa trong nhiều cụm" (CS1685), dẫn đến lỗi trình biên dịch dao cạo xem trong thời gian chạy.
Tôi đã xóa gói không tương thích (System.Collections.Immutable.dll) và sự cố đã ngừng xảy ra. Tuy nhiên, nếu gói không thể được gỡ bỏ trong dự án của bạn, bạn sẽ cần thử câu trả lời của Baahubali .