3

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

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

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

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

4

1 回答 1

6

此问题是由于 exe x86 与 x64 的体系结构构建造成的。VS2012 中的默认编译是 ANYCPU 并勾选了 prefer x86。

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

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

希望这可以帮助!

于 2013-06-07T07:41:36.337 回答