Получить пути сборок, используемых в Type

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

public static IEnumerable<string> GetReferencesAssembliesPaths(this Type type)
{   
 yield return type.Assembly.Location;

 foreach (AssemblyName assemblyName in type.Assembly.GetReferencedAssemblies())
 {
  yield return Assembly.Load(assemblyName).Location;
 }
}

Обычно этот метод делает свою работу, но имеет некоторые недостатки:

Я не нашел, как получить ссылочные сборки / типы из самого типа, поэтому я использовал type.Assembly.GetReferencedAssemblies () и получил ссылки на всю сборку, а не только те, которые связаны с типом.

type.Assembly.GetReferencedAssemblies () возвращает AssemblyName и не имеет свойства location / path / filepath. Чтобы получить свойство местоположения, я сначала использовал Assembly.Load (), а затем использовал свойство местоположения. Я не хочу, чтобы загрузочные сборки получали свой путь, потому что они необязательно использовались и потому что Assembly.Load () может завершиться с ошибкой FileNotFoundException или BadImageFormatException.

Ответы на вопрос(2)

Ваш ответ на вопрос