.net 编译器 - exe 文件的二进制比较
我们的主要问题是我们无法对编译器生成的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是正常现象;除此之外,每个构建都有一个不同的模块 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
)