Ứng dụng của tôi tải tất cả các assembly của thư viện nằm trong đường dẫn thực thi của nó và thực hiện các phương thức đã biết trước các lớp chứa.Tải một assembly tại thời gian chạy tham chiếu đến assembly gọi
Tôi bây giờ cần phải làm tương tự với một hội đồng tham chiếu đến hội đồng ứng dụng của tôi. Điều này có khả thi và có bất kỳ tác động tiêu cực nào mà tôi nên biết không?
Thạc sĩ hội:
public abstract class TaskBase
{
public abstract void DoWork();
}
LoadAssemblyFromFile("Assembly0001.dll");
Assembly0001.Task1.DoWork();
Assemblies Child:
public sealed class Task1: MasterAssembly.TaskBase
{
public override void DoWork { /* whatever */ }
}
Tôi làm việc này mọi lúc mà không gặp bất kỳ sự cố nào. Bí quyết duy nhất mà tôi đã chạy vào (một vài lần thực sự) là phiên bản quản lý của hội đồng _master_. Nếu bạn thực hiện các thay đổi đối với _master_ mà không biên dịch lại các con, bạn có thể gặp phải một số vấn đề kỳ lạ. –
@ M.Babcock: Cảm ơn. Trong tò mò, loại vấn đề gì? Tôi không tự động tăng phiên bản lắp ráp trên biên dịch lại. Tôi giả sử rằng NÊN nên bỏ qua bất kỳ vấn đề nào bạn có thể gặp phải. Suy nghĩ của bạn? –
Vấn đề phổ biến nhất mà tôi gặp phải là một định nghĩa phương pháp thay đổi phá vỡ tính tương thích ngược, mặc dù trong các trường hợp khác, tôi đã trải qua sự sợ hãi "_Type_ được định nghĩa trong cả _Master_ và _Master_" ngoại lệ (từ bộ nhớ chứ không phải văn bản chữ, nhưng đóng đủ để bạn nhận ra nó). –