Как получить ссылку на сборку библиотеки классов в проекте.NET Core?

У меня есть проект ASP.NET Core (netcoreapp2.0), который ссылается на модели в проекте библиотеки классов (netstandard2.0). Я пытаюсь использовать Mapster для отображения объектов, хранящихся в библиотеке классов. В документации для Mapster написано, что нужно вызывать метод Scan из Startup.cs с помощью кода:

TypeAdapterConfig.GlobalSettings.Scan(assembly1, assembly2, assemblyN)

У меня проблемы, как лучше получить ссылку на сборку для библиотеки классов для передачи в метод Scan. Я думаю, что это скорее общий вопрос.NET, а не специфический для Mapster. Лучшее, что я смог придумать, это следующее, но это неловко.

private Assembly GetAssemblyByName(string name)
{
    var assemblies = Assembly.GetEntryAssembly().GetReferencedAssemblies();
    var assemblyName = assemblies.FirstOrDefault(i => i.Name == name);
    var assembly = Assembly.Load(assemblyName);
    return assembly;
}

Есть ли лучший способ справиться с этим?

ОБНОВЛЕНИЕ: Очевидно, мое решение выше нарушает миграцию кода. Кто-нибудь может предложить способ сделать это?

1 ответ

Решение

Получить сборку, используя определенный в ней тип.

var assembly = Assembly.GetAssembly(typeof(NameSpace.TypeName));
Другие вопросы по тегам