应用程序不在x86构建上启动,而是在64位上启动

时间:2013-09-24 06:32:48

标签: c# x86-64 projects-and-solutions

我已根据解决方案中的现有标准创建了WPF Windows应用程序项目。项目属性的Platform TargetAny CPU,并显示为Prefer 32-bit。我是一台64位机器,应用程序没有启动,我花了很长时间才弄明白并关闭Prefer 32-bit来启动它。

我的问题是当我说Prefer 32-bit时发生了什么?我希望它能在64位计算机上作为32位应用程序启动它。但在我的情况下,它不运行,它只是终止。为什么呢?

修改

问题在于我说Prefer 32-bitx86它以32位模式构建应用程序。 Any CPU使其成为64位版本。应用程序仅在64位模式下启动,当以32-bit模式启动时,它会终止,没有任何异常。

1 个答案:

答案 0 :(得分:1)

经过反复试验发现问题与AssemblyName的长度有关。在我把它缩小到36个字符之后它已经很长了56个字符。无法获取有关32位程序集名称和64位程序集名称的允许限制的信息。但是64位允许更大的名字引起混乱。