2012-04-10 15 views
14

Chúng tôi có tệp DLL tùy chỉnh không được bao gồm trong tệp thiết lập ban đầu của chúng tôi. Chúng được tải khi chạy. Quá trình này hoạt động tốt trong khi sử dụng .NET 2.0, nhưng chúng tôi đang nhận được thông báo lỗi "Thành viên được gọi không được hỗ trợ trong một cụm động" bây giờ chúng tôi đang sử dụng .NET 4.0.Đang tải các tệp DLL của trình cắm thêm, "Thành viên được gọi không được hỗ trợ trong một cụm động."

try 
{ 
    assem = Assembly.LoadFrom(fi.FullName); //fi is FileSystemInfo 
} 
catch (FileLoadException) {} 
catch (BadImageFormatException) {} 
catch (System.Security.SecurityException) {} 
catch (ArgumentException) {} 
catch (PathTooLongException) {} 
+2

Stacktrace please. – leppie

Trả lời

8

Đối với tôi vấn đề này đã không được nhúng giấy phép cho một dll Aspose: http://www.aspose.com/community/forums/thread/423874/initializing-the-license-file.aspx

mã của họ tiêm cụm động khi giấy phép không được phát hiện, gây DLL của họ thất bại, cũng như một loạt các mã khác không tương thích với các cụm động.

Không chắc chắn đây có phải là phương pháp cấp phép/kích hoạt chung để đảm bảo sử dụng đã đăng ký với dll của bên thứ 3 hay không, vì vậy tôi sẽ đăng nó ở đây cho google nếu có.

5

Lỗi này xảy ra vì Assembly.Load không thể được gọi khi cụm động. Bạn phải lọc ra các cụm động trước khi sử dụng chúng.

var assemblies AppDomain.CurrentDomain.GetAssemblies().Where(p => !p.IsDynamic);

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