2012-10-20 453 views
3

我做了一个程序并编译它。它在调试文件夹中按预期工作。我把它拿出来放在system32中,但它不会运行。它给出了这样的错误:为什么我无法在system32中运行我的exe文件?

.NET Framework Initialization Error
Unable to find a version of the runtime to run this application.

我试图把它在它自己的文件夹中的debug文件夹内,它的工作没有其他调试文件。我试着以管理员身份运行它。我知道我有正确的.NET Framework版本,因为它可以在system32之外运行。我试图用命令提示符从其他地方运行它。我尝试过所有这些,但仍然无法使用。

编辑:我也试过把exe文件放在windows文件夹中。

+0

你为什么要把它放在System32文件夹中? –

+1

[this one]的可能重复(http://stackoverflow.com/questions/8739595/running-a-console-application-from-the-system32-folder)。 – Neolisk

+0

请记住,.NET EXE文件不是用本机代码制作的“真实”程序。他们需要额外的框架,有时还需要其他功能。 –

回答

5

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

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

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

希望这会有所帮助!

+0

非常感谢!仅供参考,这也适用于VS2010 – thebunnyrules

相关问题