1

有人可以简单地解释一下,为什么需要经过这么多圈才能从 Visual Studio 运行 PowerShell(作为外部命令)?我知道这与位差异有关,但不明白为什么。如果我没记错的话,上下文是 System32 文件夹中的 64 位 Windows 7 操作系统、32 位 Visual Studio 和 32 位 powershell。64 位操作系统可以毫无问题地运行 32/64 应用程序,那么这里有什么问题,为什么?

通过互联网搜索,我相信这与WOW64有关,因此是标签,但我不太确定。我知道操作系统模拟了旧的 32 位软件,但我不明白为什么 VS 无法运行命令以启动 powershell 而无需通过箍,例如添加一个'...Native...'文件夹(那个 acc.到我们的导师实际上并不存在)到路径。

希望这不会令人困惑。

4

1 回答 1

6

Visual Studio 是 32 位进程,没有 64 位版本。当你要求它从 c:\windows\system32 运行某些东西时,Windows 会将请求重定向到 c:\windows\syswow64。所有 32 位 Windows 可执行文件的主目录。

使用 %windir%\sysnative 是解决方法,它被重定向到 c:\windows\system32。

文件系统重定向器在此处描述

于 2011-06-29T00:20:37.947 回答