【问题标题】:How to run Powershell x86 within Visual Studio Code x64?如何在 Visual Studio Code x64 中运行 Powershell x86?
【发布时间】:2018-02-26 22:02:09
【问题描述】:

我遇到了一种情况,我正在使用 64 位版本的 Visual Studio Code 来编写/调试 powershell 脚本。但是,由于 Powershell 脚本的作用,它需要在 32 位版本的 Powershell 中运行。它使用一些库来访问 MS Access 文件,所以我还没有找到一种方法来让事情在 Powershell x64 中工作。

如果 VS Code 本身以 64 位运行,有没有办法告诉 VS Code 运行 32 位版本的 Powershell?比如可以修改launch.json文件指定powershell本身的路径吗?

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "PowerShell",
            "request": "launch",
            "name": "PowerShell Launch Current File",
            "script": "${file}",
            "args": [],
            "cwd": "${file}"
        },
        ...
     ]
}

【问题讨论】:

    标签: powershell visual-studio-code


    【解决方案1】:

    假设你已经安装了PowerShell extension,你应该可以将VS Code设置中的powershell.powerShellExePath设置修改为"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"

    相信你也可以设置"powershell.useX86Host": true。这是在 PowerShell 扩展 v0.5.0 中引入的;我不知道我是怎么错过它的!

    但是,安装 64 位 MS Access 组件并仅使用 64 位版本可能更容易或更好。

    Microsoft Access Database Engine 2010 Redistributable

    Microsoft Access 2013 Runtime

    Microsoft Access Database Engine 2016 Redistributable

    我不知道为什么 2013 版本有不同的名称,但据我所知,这些是不同版本的相同组件。

    【讨论】:

    • 如果您已经安装了 32 位版本的 Office,则无法安装 64 位 MS Access 组件。这是我不久前想安装 64 位组件时遇到的问题,我没有 64 位办公室可供我使用,也不需要升级,因为我使用的 Office 2010 仍然是完美的正在处理它,好的,除了这个问题。
    • @SuperDre 不知道为什么这对你不起作用,但我 100% 以前做过。它是我们在之前的工作中通过网络部署的应用程序安装的一部分,它始终与 32 位 Office 并排安装(因为它安装在每个工作站上)。
    • 你确定你安装的是 32 位旁边的 x64 版本。因为我在安装过程中收到的消息尽可能清晰:“您无法安装 64 位版本的 MS ADE2010,因为您当前安装的是 32 位办公产品。如果您想安装 64 位 MS ADE 2010,您首先需要删除 Office 产品的 32 位安装。”然后它告诉我需要删除的 32 位版本:“Microsoft Office Standard 2010”。
    • 我很确定。已经很长时间了,但我确定我们要么做到了thisthisthisthis 或类似的。
    • 感谢您提供额外信息,this 成功了。但我发现 64 位 ACE.OLEDB.12.0 驱动程序比 32 位驱动程序慢得多,所以我现在将使用 32 位 ACE.OLEDB.12.0 驱动程序和 32 位 powershell 代替 Jet.OLEDB.4.0 驱动程序。但至少现在我可以同时使用 32 位和 64 位。
    【解决方案2】:

    我发现了另一种更简单的方法,似乎是由 VSCode 提供的(尽管它可能是我添加的扩展)。在主窗口的工具栏右侧有一个可点击的元素:

    当您单击窗口顶部附近会出现一个菜单时,其中包含一些与 powershell 相关的选项,包括在 x86 和 x64 之间切换的能力:

    【讨论】:

    • +1 我唯一的扩展是 PowerShell 和一个图标扩展,所以我愿意相信它是 PowerShell 扩展本身的一部分。
    • 吹嘘。这只是发生在我身上。我忘了它以前被设置为 x86 来做与办公室相关的事情。
    猜你喜欢
    • 2017-08-08
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2023-03-09
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多