Получение имени сборки первой ссылки в цепочке ссылок

#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. Ваш вопрос мне немного непонятен. Но один из способов, которым вы могли бы это сделать, — добавить в свой класс интерфейс, который вам нужен. Затем с помощью отражения получите все классы, реализующие этот интерфейс, проверьте, соответствует ли какой-либо из них настроенному классу. А затем получите сборку из этого класса. Надеюсь, это поможет