Я везде искал пример или что-то в этом роде, но безуспешно, поэтому я надеюсь, что кто-то здесь может направить меня в правильном направлении.
У меня есть приложение WPF, для которого я хочу создать плагины/DLC/надстройки (не уверен, какое слово нужно искать, когда это WPF, поэтому я буду использовать плагин).
Я еще не создавал никаких плагинов, потому что думал, что можно использовать умный nuget package или pattern.
Итак, по сути, я хочу что-то не такое утомительное, как (я знаю, что это так упрощено...):
if (myFolderPath contains "plugin.dll")
{
AddAMenuButtonWithThePlugin();
}
Я надеюсь на что-то вроде AnnotationMethod вроде:
[UseThisDll("plugin.dll")]
private void AddAMenuButtonWithThePlugin(){...}
Если у вас уже была аналогичная задача, я хотел бы услышать, как вы ее решили, поскольку я не нахожу свои собственные идеи легкими для меня.
По сути, у меня есть несколько компьютеров с WPF, которые используют Squirrel.Windows для установки и обновления.
Однако у меня есть несколько плагинов, которые, возможно, должны быть только на некоторых ПК.
Любой хороший совет? По сути, я хочу добавить button к page, что приведет к DLC page.
Спасибо @Tom, я посмотрю на них :)
Вы могли бы в значительной степени описать возможности mef с вашим требованием.
MEF идеально подходит для этого. Никогда не использовал его и не знакомился с ним раньше, и я вижу, что в сети есть много примеров. Идеально! Том или Энди, не могли бы вы создать ответ, чтобы я мог его принять? :)
Я написал ответ, если вы все еще хотите его принять.





Для этого можно использовать MEF.
Существует несколько версий MEF:
Попробуйте использовать Mono.Addins (nuget.org/packages/Mono.Addins), MEF(nuget.org/packages/System.ComponentModel.Composition) или (nuget.org/packages/System.Composition)