如何(通过代码)确定汇编代码标志?

发布于 2024-08-08 09:21:50 字数 134 浏览 8 评论 0原文

我需要编写一个类似 CorFlags 的应用程序。 如果我有程序集文件的路径,如何读取其 CorFlags?

我特别需要知道程序集是 Any-CPU 还是 x86,只是

我想避免使用反射加载程序集,因为我需要扫描许多文件。

I need to write a CorFlags-like application.
If I have a path to assembly file, how to I read its CorFlags?

I specifically need to know if the assembly is Any-CPU or x86 only

I want to avoid loading the assembly using reflection because I need to scan many files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

剪不断理还乱 2024-08-15 09:21:50

看看这个 链接,它描述了与您的查询类似的情况。接受的答案描述了如何使用反射和 Module.GetPEKind。这可能对你有帮助。

编辑:有点晚了,但这是一个例子:

namespace ConsoleApplication1
{
    using System.Reflection;

    public class Program
    {
        public static void Main()
        {
            Assembly a = Assembly.GetExecutingAssembly();

            PortableExecutableKinds peKind;
            ImageFileMachine machine;

            a.ManifestModule.GetPEKind(out peKind, out machine);
        }
    }
}

Have a look at this link, it describes a similar situation to your query. The accepted answer describes how you can use reflection and Module.GetPEKind. This might help you.

Edit: A bit late, but here's a example:

namespace ConsoleApplication1
{
    using System.Reflection;

    public class Program
    {
        public static void Main()
        {
            Assembly a = Assembly.GetExecutingAssembly();

            PortableExecutableKinds peKind;
            ImageFileMachine machine;

            a.ManifestModule.GetPEKind(out peKind, out machine);
        }
    }
}
陈年往事 2024-08-15 09:21:50

System.Reflection.Assembly 有很多东西可以帮助你做到这一点。

var asmbly = Assembly.ReflectionOnlyLoad("filename");
var PeFlags = asmbly.ManifestModule.GetPEKind();
//PeFlags is effectively CorFlags.

System.Reflection.Assembly has a whole bunch of things to help you in this.

var asmbly = Assembly.ReflectionOnlyLoad("filename");
var PeFlags = asmbly.ManifestModule.GetPEKind();
//PeFlags is effectively CorFlags.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文