|
|
1
1
我认为这个问题很难回答,因为Windows中的.NET可执行文件包含两种形式的代码: 第一部分是本地存根 这带来了系统的可用运行时(对于较旧的Windows系统,当OS加载器无法本地识别CLR程序集时)。它可以是32位或64位,就像其他Windows应用程序一样。您可以通过以下方式找到其目标架构 analyzing its PE header . 正如你所知,这很容易确定。然而,我怀疑它也可能在很大程度上与您的用例(以及大多数用例)无关,因为第一部分不包含程序的“有用”部分,主要是出于遗留原因。 第二部分是IL(字节码) 这将得到JIT编译,然后执行。这是有用的部分,但在不运行时,这在很大程度上与平台无关。这是 运行时JIT生成的代码 变为32位或64位。
现在,您可能已经意识到了一个问题: 第一部分和第二部分可能不匹配。 他们通常不会,因为最常见的场景是使用AnyCPU配置进行构建( which will typically yield a 32-bit PE executable )以及在64位系统上部署,其中IL将被JIT编译为64位指令。 最后,你必须明确决定你想知道这两个人中的哪一个(以及这是否值得麻烦)。您可能还想探索其他选项,例如利用AnyCPU程序集可以加载为32位或64位的事实,在许多情况下,您可以使用它们而无需检查。 |
|
|
Michel · 在Android上后台播放音频超过一分钟 3 年前 |
|
|
category · 在服务中处理较长的Pod响应时间 8 年前 |
|
|
theDoron1 · C#服务未将文件移动到正确的文件夹 8 年前 |
|
|
XpressGeek · 应用程序被终止时广播接收器未调用服务 8 年前 |
|
|
anakin59490 · 角度5-组件和服务之间的通信 8 年前 |