我有一个部署的WPF exe,我有一些担心,在现场它真正运行为x86所以我可以放心,我没有遇到人们提到你因为WOW64而设置为AnyCPU时的奇怪行为。 我的项目(只有项目中的程序集,虽然我确实依赖于32位dll)设置为:
然而我的解决方案配置设置为AnyCPU。
我仍然可以确信我的应用只是32位吗?
哦,这是我的corflags。
答案 0 :(得分:1)
这是VS2010中的一个设计缺陷,当您从早期版本的VS转换项目时,它尤其罢工。平台名称不会以任何方式影响最终过程的位数。它只是一个名称,它不会直接影响托管项目的任何项目设置。
只有Project + Properties,Build,“Platform target”设置很重要。此外,只有EXE项目的设置很重要,DLL必须以EXE项目启动时选择的任何位数为生。所以DLL项目的正常设置是AnyCPU。如果您希望您的进程为32位,则将EXE项目上的设置更改为x86。如果您希望平台名称匹配,则只需添加另一个名为“x86”的名称,在VS2010中创建新项目时也是默认名称。让平台名称与C#平台目标设置相匹配取决于您,它不是自动的。不要忘记也更改发布配置的设置。
平台名称对于本机项目尤其是C ++项目非常重要。因为它们不支持AnyCPU之类的任何东西,所以需要为它们单独构建。现在,Platform选择器可以轻松地在构建之间切换。