gpt4 book ai didi

.net - 如何以编程方式确定 DLL 是托管的还是非托管的?

转载 作者:行者123 更新时间:2023-12-01 12:46:11 24 4
gpt4 key购买 nike

在程序中,如何确定 DLL 是托管代码还是非托管代码?我们正在使用 this code以确保我们所有的托管 DLL 都是 MSIL。但它会在非托管 DLL 上引发异常,因此我需要一种方法来首先检查 DLL 是否是托管的。

最佳答案

最简单的选择很可能是尝试按原样打开文件,然后捕获异常。任何非托管程序集都会在 Assembly.LoadFrom 上引发异常。

但是,如果您想更严格地确定这一点,您需要自己检查 PE header 以获取适当的信息。这article describes the process详细,但需要检查 IMAGE_OPTIONAL_HEADER DLL的PE头结构。

关于.net - 如何以编程方式确定 DLL 是托管的还是非托管的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com