2011-12-15 37 views
9

Tôi chỉ muốn chia sẻ điều mà tôi đã học được. Có rất nhiều bài viết về TypeLoadExceptions ở đây, nhưng không ai trong số họ dường như có câu trả lời tôi cần.Giải pháp cho TypeLoadException

trang này có một số thông tin đặc biệt tốt, nhưng dường như không giải quyết cụ thể những gì tôi đã nhìn thấy và làm thế nào tôi giải quyết nó (có thể là sai):

TypeLoadException says 'no implementation', but it is implemented

Các SOLUTION cho tôi rất đơn giản: Xóa mọi tệp Visual Studio 2010 lưu trữ và sử dụng để tạo tệp lắp ráp.


Bối cảnh của vấn đề:

Dưới đây là một số chi tiết. Tôi đã nhìn thấy một TypeLoadException như:

Unhandled Exception: System.TypeLoadException: Phương pháp [phương pháp name] trong loại [type name] từ lắp ráp [tên lắp ráp], Version = xxxx, Văn hóa = trung tính, PublicKeyToken = null không có triển khai.

Tôi đã thực hiện ... Tôi đã nghĩ, cho đến khi tôi xem bản lắp ráp với ILDASM. Tôi phát hiện ra tôi đã nhận được các phiên bản cũ của DLL được viết vào thư mục ouput của tôi đã có giao diện lỗi thời. Thư mục đầu ra của tôi không phải là thiết lập mặc định, nhưng một đường dẫn tương đối bên ngoài thư mục dự án (có thể VS không thể xử lý hoàn toàn việc này ??). Sau khi làm sạch/xây dựng lại dự án, thư mục "obj" của dự án là thư mục duy nhất trong tất cả các thư mục con của thư mục dự án của tôi có datestamp chính xác trên DLL. Thư mục "bin" vì một lý do nào đó vẫn có phiên bản cũ. Và tôi cho rằng đó là những gì đã được sao chép vào thư mục đầu ra.

Trước đó tôi đã cố gắng:

  • sạch/xây dựng lại
  • khởi động lại Visual Studio (2010)
  • khởi động lại
  • xóa DLL lắp ráp của tôi trong thư mục đầu ra (bin \ x86 \ debug)

... không thành công.

Tôi không chắc tại sao VS không sao chép cụm chính xác trong "obj" vào thư mục đầu ra ... Dự án tham chiếu cụm từ lỗi thời là chính xác.

+2

Không đăng giải pháp trong câu hỏi. Chỉ cần đăng câu hỏi như thể bạn vẫn gặp sự cố, sau đó đăng giải pháp làm câu trả lời.Tốt hơn là chờ một ngày hoặc lâu hơn - cho mọi người thời gian để đăng các giải pháp của riêng họ, bạn có thể tìm thấy một giải pháp tốt hơn của bạn. – ChrisF

+0

Tôi phải đồng ý với @ChrisF, bạn nên đăng câu hỏi trước và sau đó trả lời Mặc dù tôi đánh giá cao câu trả lời (nó đã giúp tôi) bạn có thể đã nhận được một số điểm kudo cho nó, và có thể thấy câu trả lời của người khác mà bạn đã làm 't nghĩ về. – iMortalitySX

Trả lời

2

Bạn đang sử dụng một số loại kiểm soát nguồn và thực hiện đăng ký và kiểm tra nội dung? Nếu có, hãy đảm bảo rằng các thư mục obj và bin không được kiểm tra trong điều khiển nguồn. Nếu họ sau đó xóa chúng khỏi điều khiển nguồn, hãy kiểm tra mọi thứ và sau đó xây dựng lại giải pháp của bạn.

0

Tôi đã gặp loại sự cố này trong Visual Studio 2015 và giải quyết bằng cách sử dụng trình quản lý gói NuGet cho giải pháp, cài đặt lại gói đã được cài đặt trong các phiên bản khác nhau.