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

标签 .net vb.net system32

我做了一个程序并编译了它。它在调试文件夹中按预期工作。我将其取出并放入 system32,但它无法运行。它给出了这个错误:

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

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

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

最佳答案

此问题是由于 exe x86 与 x64 的架构构 build 成的。 VS2012 中的默认编译是选择 x86 的 ANYCPU。

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

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

希望这对您有所帮助!

关于.net - 为什么我不能在 system32 中运行我的 exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12993739/

相关文章:

c# - Visual Studio 类图未显示关系

asp.net - 将 ASP.NET 3.5 更新为 4.0 -> Sys.WebForms.PageRequestManager 未定义

.net - 在 PowerShell 中使用 System.Net.WebClient 通过 SAN 证书访问 HTTPS URL

windows -\Windows\versus\Windows\System32 - 文件位置约定

.net - Unity 基于代码的拦截/日志记录配置

vb.net - 将复选框添加到 datagridview 列标题,未正确对齐

.net - 哪些 GPS 加密狗适用于 Windows 7 和 .Net 4.0 System.Device.Location 命名空间?

sql-server - 连接断开时干净地关闭 SQL 连接

windows - Inno安装程序 "Source file C:\Windows\System32\vcruntime140_1.dll does not exist"错误