我有一个ASP.NET Core项目(netcoreapp2.0),它引用了在类库项目(netstandard2.0)中的模型。我正在尝试使用Mapster将存储在类库中的对象映射到其他对象。Mapster的文档指示在Startup.cs中使用以下代码调用Scan方法:
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;
}
有没有更好的方法来处理这个问题?
更新:显然,我上面的解决方案会破坏代码优先迁移。有人能建议一种实现这个目标的方法吗?