#c# #reflection #asp.net-core-5.0
Вопрос:
Я пытаюсь разрешить пользователю (программисту) настраивать сборку, которую они будут использовать в своем проекте, добавив в нее некоторую информацию appsettings.json
.
Вот пример или ссылка, которую мог бы привести программист:
CustomProject->ProxyA->FrameworkClass
Из FrameworkClass
, я хотел бы получить ProxyA
имя сборки.
Таким образом, я могу позволить программисту добавить узел JSON, называемый ProxyA
CustomProject
«s appsettings.json
«, из которого я могу извлечь FrameworkClass
.
Я хочу сделать что-то подобное, потому CustomProject
что у меня могут быть такие настройки ссылок
CustomProject->ProxyA->FrameworkClass
CustomProject->ProxyB->FrameworkClass
FrameWorkClass
в обоих случаях потребуется разная конфигурация.
Я пытался Assembly.GetExecutingAssembly()
, Assembly.GetEntryAssembly()
и Assembly.GetCallingAssemble()
и ProxyA или ProxyB никогда не показывались, на самом деле.
Есть ли какой-нибудь способ сделать это ? Или какой другой подход я должен использовать ?
Комментарии:
1. Ваш вопрос мне немного непонятен. Но один из способов, которым вы могли бы это сделать, — добавить в свой класс интерфейс, который вам нужен. Затем с помощью отражения получите все классы, реализующие этот интерфейс, проверьте, соответствует ли какой-либо из них настроенному классу. А затем получите сборку из этого класса. Надеюсь, это поможет