Writing an Addin or Plugin Framework in C#

Я пишу Addin Framework на C# и мне интересно, как я могу сделать Addin'ы выгружаемыми, не требуя перезапуска приложения.

Я слышал о AppDomains, но как они работают? Может ли Addin добавлять расширяемые классы и вызываться в основном AppDomain интерфейсами, но при этом быть выгружаемым и вызывать код очистки, приводящий к удалению этих классов, без того, чтобы сборка находилась в основном AppDomain?

Или есть другие методы достижения выгружаемых дополнений, но IIRC кроме AppDomain'ов вы не можете выгрузить сборку.

Я также хочу, чтобы движок дополнений был совместим с Mono, если это возможно, поэтому при любых ответах старайтесь оставаться совместимыми с Mono, если можете.

6
задан cdiggins 6 January 2013 в 19:03
поделиться