ASP.NET是否將所有程序集從bin文件夾加載到AppDomain中?ASP.NET是否將所有程序集從bin中加載到AppDomain中?
爲什麼我問是因爲我試圖尋找一個接口的具體實現,它似乎是解決它們沒有明確的Assembly.Load(...)
。
ASP.NET是否將所有程序集從bin文件夾加載到AppDomain中?ASP.NET是否將所有程序集從bin中加載到AppDomain中?
爲什麼我問是因爲我試圖尋找一個接口的具體實現,它似乎是解決它們沒有明確的Assembly.Load(...)
。
它不會加載它們,除非它們被引用(靜態或動態)。但Bin文件夾被認爲是探測路徑的一部分,所以它會習慣加載組件。
我想它確實通過System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()加載它們。我在分析堆棧跟蹤中得到了這些信息,但找不到太多文檔。
研究員SO'ers在這裏討論控制它,但:How to stop ASP.NET from loading all assemblies from bin on first load
我認爲它加載它們加載的DLL的文獻全部組件。其中一個加載的項目必須引用包含您所看到的類的DLL。但我不確定這一點。 –
沒有任何直接的項目參考。 –
假設DLL位於bin文件夾中,傳遞項目引用仍將計數。就像如果A(你的應用程序)依賴於依賴於C的B,並且所有3都在bin文件夾中,則C將最終自動加載。 –