![](/img/trans.png)
[英]C# application when build in Visual Studio 2010 64-bit does not work well
[英]Building 64-bit C# in Visual Studio 2010
我有一个我最近从32位重新配置的64位解决方案-在Visual Studio 2010中都是如此。我已将“配置属性”中的“活动平台”设置为x64,并且构建完成而没有任何抱怨。 但是,当我通过Dependency Walker运行生成程序中的可执行文件和dll时,所有依赖项都是x64,唯一的依赖项是二进制本身x86。 因此,依赖项遍历者会抱怨,但是二进制文件可以工作。 二进制文件本身应该具有x86依赖性,然后它们才是有效的x64应用程序吗?
编辑:我按照Hans Passant的建议通过Corflags.exe运行了我的可执行文件,该文件提供了以下输出:
Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 3
ILONLY : 1
32BIT : 1
Signed : 0
32BIT标志是否意味着它作为32位进程运行?
Dependency Walker很长时间没有得到维护。 它不知道有关托管程序集的bean,也不知道运行时支持中用来将标记为包含32位代码的EXE转换为64位进程的EXE的特殊技巧 。
完全不需要使用“平台”目标设置专门针对x64,AnyCPU是首选,因为它将使您的程序可以在两种操作系统上运行。 如果要在以后查看设置或进行更改,请使用Corflags.exe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.