我使用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