簡體   English   中英

我可以獲取網站引用的所有程序集嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM