8

Setup:lắp ráp Ninject không phù hợp với tham chiếu assembly

  • ASP.NET MVC3
  • Ninject v2.2.1.4
  • Ninject v3.0.0.15
  • Ninject.MVC3 v3. 0.0.6
  • Ninject.Web.Common v3.0.0.7

Sử dụng N uGet, dự án UnitTest tôi tham chiếu Ninject v2.2.1.4

tài liệu tham khảo web dự án của tôi v3.0.0.15 Ninject, Ninject.MVC3 và Ninject.Web.Common

Vấn đề:

Với chiến thắng explorer mở tại thư mục bin của dự án web của tôi, tôi xây dựng giải pháp của mình và tôi có thể thấy Ninject v2.2.1.4 được sao chép vào thư mục bin của dự án web của tôi. Và sau đó được thay thế bằng Ninject v3.0.0.15.

Khi tôi nhấn F5 để debug, Ninject.dll v3.0.0.15 được thay thế bằng Ninject v2.2.1.4 gây ra lỗi sau:

Không thể tải tập tin hoặc lắp ráp 'Ninject, Version = 3,0 .0.0, Văn hóa = trung lập, PublicKeyToken = c7192dc5380945e7 'hoặc một trong các phụ thuộc của nó. Định nghĩa tệp kê khai của assembly được đặt không khớp với tham chiếu assembly. (Ngoại lệ từ HRESULT: 0x80131040)

Điều gì mang lại?

+0

Vì vậy, tôi đã xóa Ninject v2.2.1.4 khỏi danh sách các gói của mình. Khi chạy/gỡ lỗi giải pháp v3.0.0.15 vẫn còn. Vấn đề của tôi được giải quyết nhưng tôi ước tôi hiểu hoặc biết tại sao nó lại bị ghi đè ngay từ đầu. Tôi đã xem xét cẩn thận tất cả các tham chiếu và v2.2.1.4 không được tham chiếu ở bất kỳ đâu. Tôi thậm chí tự tham chiếu các dll v3 nhưng vô ích, v2 luôn được sao chép ovwer khi gỡ lỗi. Nếu tôi đã làm một v3 xây dựng sẽ được sao chép ... xin lỗi nếu điều này không giúp bất cứ ai khác, nhưng nếu ai đó biết câu trả lời tôi rất muốn biết. TIA ... –

Trả lời

0

Vài suy nghĩ:

  1. Chỉ trong debug xây dựng của bạn đã làm bạn có một tài liệu tham khảo gián tiếp lên phiên bản v2 Ninject. Trường hợp tại điểm, tôi đoán khi bạn đang thực hiện bản dựng lỗi của bạn, bạn xây dựng dự án Thử nghiệm của mình trong khi bản dựng không xây dựng dự án Thử nghiệm của bạn.
  2. Khi bạn xây dựng, bạn có nhận thấy dự án nào đang được xây dựng khi v2 DLL được đặt vào thùng rác không? Sau đó, bạn sẽ được có thể tìm ra dự án nào đang tham chiếu phiên bản v2 và có thể thu hẹp tìm kiếm của bạn (tức là câu trả lời sẽ trở nên rõ ràng hơn một chút nếu nó không phải là dự án Thử nghiệm).
  3. Không bao giờ có ý tưởng hay để tham khảo nhiều phiên bản trong các dự án khác nhau.
  4. Bạn đã kiểm tra xem các tham chiếu Web.config và App.config của bạn đã trỏ đến chưa?
Các vấn đề liên quan