Tôi có một VS Add-In đang sử dụng một BinaryFormatter để deserialize một đối tượng. Để giải quyết kiểu của đối tượng này, nó gọi Assembly.Load (objectTypeFullName) nhưng nó kích hoạt một ngoại lệ vì Assembly.Load không thể tìm thấy assembly ở bất kỳ nơi nào nó đang tìm kiếm. Các hội đồng nhất định là anh chị em để lắp ráp bổ sung, nhưng có vẻ như Assembly.Load() không thể tìm thấy nó ở đó.Làm thế nào để xác định nơi Assembly.Load() tìm kiếm cho hội đồng?
Một giải pháp có thể là xác định nơi Assembly.Load sẽ tìm kiếm các hội đồng.
Tôi nên làm gì?
PS: Tôi đang cố gắng không để lắp ráp này trên GAC vì tôi sẽ cần phải cập nhật nó mỗi khi tôi biên dịch lại lắp ráp.
Cảm ơn Reed. Một số lưu ý: Mặc dù AppDomain.AppendPrivatePath không được chấp thuận với AppDomainSetup.PrivateBinPath, nhưng tôi chỉ có thể sử dụng lệnh đầu tiên. AppDomainSetup.PrivateBinPath vẫn còn null sau khi tôi thay đổi nó. AppDomain.AppendPrivatePath cho phép tôi thêm bất kỳ đường dẫn nào LÀ TRẺ EM của AppDomain.BaseDirectory, mà trong nhiều trường hợp là đủ, không phải trong tôi vì BaseDirectory của tôi là thư mục DevEnv. Các giải pháp khác, AppDomain.AssemblyResolve là đủ tốt. Ghi chú: Sự kiện này chỉ được gọi khi .NET không thể giải quyết việc lắp ráp cho chính nó. Nếu tất cả các trình xử lý trả về null, một ngoại lệ được ném –