我在循環中使用Assembly.LoadFile(assemblyFilePath)加載程序集,如果程序集已經加載一次,我想避免調用Assembly.LoadFile。我應該擔心重複調用Assembly.LoadFile對於已經加載的DLL嗎?謝謝。我怎樣才能避免加載動態,我已經加載使用反射?
12
A
回答
19
不,你並不需要擔心,因爲如果一個組件已經被加載它不會再次加載
如果調用Assembly.LoadFile(),那麼你可以在同一個裝配多次加載但僅當您每次都從不同路徑加載程序集時。您可以使用Assembly.Load()這將只加載一次程序集。您也可以使用
Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();
+4
看起來,Assembly.LoadFile至少在確定程序集已加載(可能更有效)的情況下比通過AppDomain.CurrentDomain.GetAssemblies()手動枚舉的效率更高。 – DeCaf
0
對於給定的AppDomain中找到有關當前應用程序域已加載的程序集,您可以撥打GetAssemblies
,看看它的加載。
相關問題
- 1. 我怎樣才能動態加載captcha表單使用PrimeFaces
- 2. 我怎樣才能加載視圖
- 3. 我怎樣才能加載從ObjectInputStream中
- 4. 我怎樣才能加載XPServerCollectionSource?
- 5. C++:我怎樣才能避免static_cast?
- 6. 我怎樣才能反映/翻轉加載時的圖片
- 7. 我怎樣才能下載使用C++
- 8. 我怎樣才能簽出已經下載的項目
- 9. 我怎樣才能從渴望的加載中加入表值?
- 10. 我怎麼能找到我的.RDA已經加載到R
- 11. 我怎樣才能找到我加載的包來自
- 12. 我怎樣才能加載我的pdf文件從SD卡
- 13. 我怎樣才能使一個子網格加載jqgrid更快?
- 14. 我怎樣才能使它動態
- 15. 我怎樣才能避免使用類型名稱類型
- 16. 我怎樣才能加載一個adobe鍊金術swf動態編譯
- 17. 我怎樣才能看到從腳本動態加載的數據?
- 18. jQuery加載(),加載不正確。我怎樣才能解決這個問題?
- 19. 我怎樣才能返回,其中列值已經使用LINQ
- 20. 我怎樣才能避免ZedGraph重新映射我的YAxis,除以1000?
- 21. Java。我怎樣才能upcast類型使用反射?
- 22. 我怎樣才能動態地添加Android的活動圖像
- 23. 動畫數組緩慢加載。我怎樣才能加快進程?
- 24. 我怎樣才能顯示一個加載消息MVC
- 25. 我怎樣才能加載不同標籤2連桿與jquery
- 26. Angular JS:我怎樣才能加載工廠一次?
- 27. 我怎樣才能等到一個網站完成加載?
- 28. 我怎樣才能決定在JPA中加載多少數據?
- 29. 我怎樣才能找出什麼沒有加載MEF
- 30. 我怎樣才能爲webpackdevserver重新加載gulp?
Load()和LoadFile()將裝配加載到不同的上下文中。爲什麼使用LoadFile()如果它們位於只能通過程序集名稱找到的文件夾中?請參閱這些文章:http://blogs.msdn.com/b/suzcook/archive/2003/09/19/loadfile-vs-loadfrom.aspx http://blogs.msdn.com/b/suzcook/archive/2003 /05/29/57143.aspx – jishi