.net 编译器 - exe 文件的二进制比较

发布于 2024-12-03 03:23:05 字数 323 浏览 2 评论 0原文

我们的主要问题是我们无法对编译器生成的 exe 文件进行二进制比较。

我们公司拥有三台不同的机器

1) Windows 7 64 位 - .NET 4.0
2) Windows XP 32 位 - .NET 4.0
3) Windows XP 32 位 - .NET 4.0

所有项目都设置为针对 x86 架构进行编译...因此 exe 是 32 位。

我们稍后查看了 il 文件,所有这些文件(在每台机器上编译的同一项目)都交换了一点...

这是正常情况吗,每台机器都会生成一个特定的 exe 文件,哪个不再具有可比性?

Our main problem is that we can't make a binary compare of the exe files which are generated by the compiler.

We have three different machines in our company

1) Windows 7 64 Bit - .NET 4.0
2) Windows XP 32 Bit - .NET 4.0
3) Windows XP 32 Bit - .NET 4.0

All the projects are set to compile for a x86 architecture ... so therefore the exe is 32 Bit.

We have take a look the the il files later on and all of them (same project compiled on every machine) are swap a little bit ...

Is this a normal situation, that every mahine will generate a specific exe file, which is not compareable anymore?

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

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

发布评论

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

评论(1

夜血缘 2024-12-10 03:23:05

是的,这是正常现象;除此之外,每个构建都有一个不同的模块 ID(这与 AssemblyInfo 中设置的模块 ID 是分开的)

Yes, this is normal; amongst other things, there is a module id that is different for every single build (this is separate from those set in your AssemblyInfo)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文