我制作了一个程序并编译了它。它在调试文件夹中按预期工作。我拿出来把它放在system32但它不会运行。它给出了这个错误:
.NET Framework初始化错误
无法找到运行此应用程序的运行时版本。
我已经尝试将它放在调试文件夹中的自己的文件夹中,并且没有其他调试文件。我试过以管理员身份运行它。我知道我有正确的.NET Framework版本,因为它能够在system32之外运行。我试图使用命令提示符从其他地方运行它。我已经尝试了所有这些,但它仍然无效。
编辑:我也尝试将exe放在windows文件夹中。
答案 0 :(得分:6)
此问题是由于exe x86与x64的体系结构构建。 VS2012中的默认编译是ANYCPU,更喜欢x86勾选。
如果您的构建在x64平台上是默认构建,则应将其复制到c:\ windows \ syswow64,这是32位system32文件夹。或者应用程序应该删除prefer x86选项并重新编译。
无论哪种方式,你都没有安装正确的框架,这是由于Windows上的Windows行为和编译配置。
希望这有帮助!