[英]Can I get all assemblies referenced by a website
基本上,我想在我的MVC站點內的頁面上打印一個列表,該列表顯示應用程序使用的所有程序集以及版本信息。
我不想只在bin目錄中包含那些,我想使用更准確的方法。
所以例子就是
我想知道bin目錄中的哪個dll正在被使用。 對於其中的每一個,我需要查看它們的依賴程序集(帶有它們的版本信息)。
我想知道哪些dll是從GAC等引用的。
我希望盡可能多地提供相關信息,因此有關組件所期望的版本以及應用程序所采用的信息將非常有用。
對此有任何標准方法嗎?
謝謝,馬丁
考慮使用BuildManager.GetReferencedAssemblies
:
返回所有頁面編譯必須引用的程序集引用列表。
用法示例:
var assemblies = BuildManager.GetReferencedAssemblies().Cast<Assembly>();
另請注意此方法與AppDomain.GetAssemblies()
之間的重要區別。 BuildManager.GetReferencedAssemblies
返回:
在Web.config文件的assemblies元素中指定的程序集,從App_Code目錄中的自定義代碼構建的程序集,以及其他頂級文件夾中的程序集。
而AppDomain.GetAssemblies()
僅返回當前加載的程序集。
試試這個:
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.