Dot-Net
如何確定 DLL 是 COM 還是 .NET?
我有一個更新程序,從伺服器提取的文件在一個目錄中混合了 vb6 dll 和 .net DLL。
如何確定 dll 是否是 COM 的?
regsvr32(所以我可以從更新程序呼叫它)
我想一種方法是嘗試使用
System.Reflection.Assembly.LoadFile()(更多資訊)載入文件。如果你得到一個BadImageFormatException,它不是一個有效的 .NET 程序集。可能有一種更簡潔的方法可以做到這一點,但這應該可行。
要正式執行此操作,您可以檢查 PE 以了解有關每個 dll 導出的內容類型的更多資訊。MSDN 上有一篇非常有趣的文章討論了結構。如果您了解設置,則可以辨識到 .Net 的連結(因此缺少表示純 COM dll)。