Uzyskaj ścieżki złożeń używanych w polu Typ

Potrzebuję metody, która pobiera typ i zwraca ścieżki wszystkich zestawów użytych w typie. Ja to napisałem:

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;
 }
}

Zazwyczaj ta metoda wykonuje zadanie, ale ma pewne wady:

Nie znalazłem sposobu, aby uzyskać odwoływane zestawy / typy z samego typu, więc użyłem type.Assembly.GetReferencedAssemblies () i otrzymałem odwołania do całego zespołu, a nie tylko te, które odnoszą się do typu.

type.Assembly.GetReferencedAssemblies () zwraca wartość AssemblyName i nie ma właściwości location / path / filepath. Aby uzyskać właściwość location, po raz pierwszy użyłem Assembly.Load (), a następnie użyłem właściwości location. Nie chcę, aby zestawy ładujące pobierały swoją ścieżkę, ponieważ nie są konieczne, a ponieważ Assembly.Load () może się nie powieść z FileNotFoundException lub BadImageFormatException.

questionAnswers(2)

yourAnswerToTheQuestion