2011-01-12 32 views
98

Tôi nhận được thông báo lỗi khi cập nhật tham chiếu dịch vụ của mình:Cách truy xuất thuộc tính LoaderException?

Cảnh báo công cụ tùy chỉnh: Không thể tải một hoặc nhiều loại được yêu cầu. Truy xuất thuộc tính LoaderExceptions để biết thêm thông tin.

Làm cách nào tôi có thể truy xuất thuộc tính LoaderException?

Cập nhật: Lỗi của tôi biến mất khi tôi nhập lại dự án đối tượng miền. Tôi không biết tại sao điều này khắc phục được vấn đề, nhưng tôi rất vui vì nó hoạt động.

+4

Bạn đã xoay xở để khắc phục vấn đề này như thế nào? Bạn có ý gì khi "tái nhập khẩu dự án đối tượng miền"? (xóa tham chiếu đến dự án và thêm lại nó?) – Entrodus

+0

Có ............ – rozon

Trả lời

110
try 
{ 
    // load the assembly or type 
} 
catch (Exception ex) 
{ 
    if (ex is System.Reflection.ReflectionTypeLoadException) 
    { 
    var typeLoadException = ex as ReflectionTypeLoadException; 
    var loaderExceptions = typeLoadException.LoaderExceptions; 
    } 
}
+0

Tôi không biết viết mã lỗi, vì vậy có thể có sự cố trong dịch vụ. Tuy nhiên khi tôi tạo mã với svcutil, tôi nhận được mã có vẻ đúng với các loại được sử dụng lại (witch là vấn đề chính của tôi) – rozon

+1

Tôi đánh dấu bạn là câu trả lời vì tôi nghĩ rằng nó sẽ hữu ích nhất cho những người khác gặp phải cảnh báo/lỗi này. – rozon

+3

Tôi đang cố gắng sử dụng giải pháp này, nhưng tôi không có điểm vào trong dịch vụ WCF của tôi xung quanh mà thực sự quấn một khối thử. – Jordan

64
catch (ReflectionTypeLoadException ex) 
{   
    foreach (var item in ex.LoaderExceptions) 
    { 
      MessageBox.Show(item.Message);      
    } 
} 

Tôi xin lỗi vì hồi sinh một chủ đề cũ, nhưng muốn gửi một giải pháp khác nhau để kéo ngoại lệ nạp (Sử dụng ReflectionTypeLoadException thực tế) cho bất cứ ai để đi qua này.

+0

+1 giải quyết của tôi vấn đề – Rippo

+2

Chỉ là một FYI, nếu bạn đang chạy một dịch vụ Win (như tôi), MessageBox sẽ không xuất hiện như là các yếu tố giao diện người dùng sẽ tự động bị chặn. Phần còn lại của triển khai là hữu ích. Chỉ cần lưu vào tệp nhật ký thay thế. Cảm ơn. – Vippy

+0

"Câu lệnh khai thác thiếu khối câu lệnh". Chúa ơi, tôi ghét sức mạnh. – Owl

0

Một thay thế cho những người đang thăm dò xung quanh và/hoặc trong chế độ tương tác:

$ Lỗi [0] .Exception.LoaderExceptions

Lưu ý: [0] lấy gần đây nhất Lỗi từ ngăn xếp

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