为什么我不能在system32中运行我的exe?

时间:2012-10-20 23:57:27

标签: .net vb.net system32

我制作了一个程序并编译了它。它在调试文件夹中按预期工作。我拿出来把它放在system32但它不会运行。它给出了这个错误:

  

.NET Framework初始化错误
  无法找到运行此应用程序的运行时版本。

我已经尝试将它放在调试文件夹中的自己的文件夹中,并且没有其他调试文件。我试过以管理员身份运行它。我知道我有正确的.NET Framework版本,因为它能够在system32之外运行。我试图使用命令提示符从其他地方运行它。我已经尝试了所有这些,但它仍然无效。

编辑:我也尝试将exe放在windows文件夹中。

1 个答案:

答案 0 :(得分:6)

此问题是由于exe x86与x64的体系结构构建。 VS2012中的默认编译是ANYCPU,更喜欢x86勾选。

如果您的构建在x64平台上是默认构建,则应将其复制到c:\ windows \ syswow64,这是32位system32文件夹。或者应用程序应该删除prefer x86选项并重新编译。

无论哪种方式,你都没有安装正确的框架,这是由于Windows上的Windows行为和编译配置。

希望这有帮助!