我使用AutoFac根据自己的接口实现像这样自动注册的依赖关系:DOTNET核心得到加载的程序集列表依赖注入
builder.RegisterAssemblyTypes(Assembly.GetEntryAssembly()).AsImplementedInterfaces();
这对于入门组装的伟大工程,但对于所有相关程序集?
我想这样做:
IList<Assembly> assemblies = GetLoadedAssemblies();
foreach(var assembly in assemblies)
{
builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces();
}
我已经搜查,看到一堆.netcore 1.0的东西与AssemblyLoadContext等等,但似乎不再在1.1存在。基本上,当你搜索时,你会得到很多过时的引用,这些引用不再适用。
有一种方法来获取当前加载的程序集。
我该怎么做?
您在加载组件或应用程序的依赖关系图的那些部分真正感兴趣的?如果程序集没有直接引用它,它可能尚未加载,即使它在csproj中指定为依赖项。 –
在这个特定的应用程序,加载的人会做。但是,在其他应用程序中,我想加载相关的程序集并进行映射,因为您是对的,它们可能尚未加载。 – Robert