本質上需要以編程方式讀取依賴而不加載組件本身,那麼你就不能卸載它們如何閱讀組裝清單,而無需加載該.dll
回答
2解決方案來我的心,但我認爲還有更簡單的方法(我忘了或別不知道:)):
1.使用您可以創建的其他AppDomain
加載您的部件。卸載整個AddDomain
也將卸載加載的程序集(但僅限那些使用此AppDomain
加載的程序集)。
2.使用一些api,例如CCI,它允許你查看被管理的dll的內部,而不用反射機制加載它。
庫馬爾,
您可以卸載的.Net DLL,但你必須使用AppDomain對象來首先加載它們,然後再卸載。
請看:http://msdn.microsoft.com/en-us/library/system.appdomain(VS.80).aspx
如果你仍然想避免這種類型的過程,我想你可以解析的DLL自己,但會比使用AppDomain中,我認爲更多的工作。
-p
問題是解決在新的應用程序域沙箱 不知何故,sandBox.AssemblyResolve + =新ResolveEventHandler DLL的依賴(REH ) 產生一個錯誤,說當前組件未找到? 任何線索? – Kumar 2009-07-31 17:53:00
希望你期望程序Ildasm.exe(中間語言反彙編)
http://msdn.microsoft.com/en-us/library/aa309387(VS.71).aspx
對不起,先前沒有說清楚.... 尋找編程訪問 – Kumar 2009-07-31 18:15:01
我敢肯定有人會糾正我,如果我錯了,但不是清單只是DLL中的另一個資源?如果是這樣,您可以像其他資源一樣閱讀它。
這裏是一個開源的工具,可以讓你探索一個DLL的資源:
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
果然,我可以看到它嵌入清單。
因此,使用LoadLibrary()加載DLL並去尋找資源。
發現這個 System.Reflection.Assembly.ReflectionOnlyLoadFrom(路徑) 的伎倆
- 1. 讀取EXE或DLL的清單而不加載它
- 2. 閱讀清單
- 3. 如何閱讀一個ForeignKey的主鍵,而無需加載相應的項目?
- 4. 如何清除gridview而無需重新加載頁面
- 5. 如何在安裝前閱讀軟件包的清單?
- 6. 閱讀文件,而無需解壓(C++)
- 7. 強制Internet Explorer閱讀POST消息,而無需下載
- 8. 如何將清單添加到.NET DLL?
- 9. 如何閱讀密鑰而無需等待它,程序集8086
- 10. 如何閱讀一個文件,而無需檢查在執行
- 11. SharePoint:我如何清理它,而無需重新安裝?
- 12. 閱讀需要,如何從在線大文件中讀取前256字節而無需下載?
- 13. 我該如何閱讀?
- 14. 無法加載DLL「VSPerf110.dll」
- 15. 無法加載DLL「OraOps10.dll」
- 16. 無法加載DLL「OraOps10.dll」
- 17. 如何python2.7閱讀加載文件
- 18. 清除#無需重新加載頁面
- 19. 無法加載DLL
- 20. CSV閱讀器或閱讀Android的CSV文件,而無需使用庫
- 21. 如何解決「無法加載DLL ...」?
- 22. 如何在Debian上安裝軟件包而無需下載?
- 23. 如何強制Word for Mac(15.26)讀取加載項清單XML?
- 24. 加載從Win32應用程序的組件,而無需.NET框架安裝
- 25. 使用JavaScript來閱讀清單
- 26. 閱讀清單條目在R
- 27. 如何編譯不需要外部清單文件的DLL?
- 28. Orchard CMS擴展清單無法加載
- 29. 無法加載主類清單屬性
- 30. 如何閱讀清單<>? Windows Phone 8
thx,將調查cci,第一個選項不起作用,由於依賴關係 – Kumar 2009-07-31 18:15:36
看着它,並將無處...唯一的樣本,我發現是http://www.codeproject.com/KB/recipes/Not_Used_Analysis.aspx但它是舊的,不編譯 – Kumar 2009-08-03 17:21:56