Как получить ссылку на сборку библиотеки классов в проекте.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));