首页 文章

VS Code 1.19.3调试.net core 2并始终满足“只能调试64位进程”

提问于
浏览
1

我在笔记本电脑上安装了 .net core 2.0 的x86和x64 sdk(win 7 sp1 x64) . 我不知道为什么vs代码(1.19.3和x64&官方c# extension)总是选择x86运行时自动构建我的控制台并始终遇到错误和弹出消息:“ Only 64-bit processes can be debugged. ” .

然后我尝试了:

  • 我读了.NET Core debugging with VS Code - “Only 64-bit processes can be debugged”的问题 . 似乎根本没有为我工作,按照更改json文件和csproj文件的答案 .

  • 我通过运行 "C:\Program Files\dotnet\dotnet" new console 尝试了简单的控制台项目 . 调试时出现错误消息 .

  • 此外,我尝试通过修改文件 .vscode\tasks.json 来强制指向要构建的x64运行时:

{

"version": "2.0.0",
"tasks": [
    {
        "taskName": "build",
        "command": "dotnet", --> change to "C:\\Program Files\\dotnet\\dotnet.exe"
        "type": "process",
        "args": [
            "build",
            "${workspaceFolder}/VSDebugCoreTest.csproj"
        ],
        "problemMatcher": "$msCompile"
    }
]

}

错误消息仍然存在“只能调试64位进程 . ” .

我有x64 vscode,我有x64 sdk和运行时,我用x64版本的sdk创建和编译,并从内部终端显示编译成功 .

Anyone know why and how to bypass this error and able to debugging? (请不要告诉我安装VS,这对我来说很重要 . )

1 回答

  • 1

    经过大约一天的调查,我得到了真正的理由和解决方案 . 感谢所有阅读我的问题的人 . (自问自答)

    原因:

    • 我在x64旁边安装了x86 .net核心sdk . 然后系统环境变量"path"包含 C:\Program Files (x86)\dotnetC:\Program Files\dotnet ;

    • Visual Studio代码中.net核心的调试器现在只支持x64版本 . 即使我强制使用x64构建,调试器也会识别路径中的 dotnet.exe 并隐式使用x86 dotnet.exe来 run 一个x64程序;

    这就是为什么我总是收到错误消息:“只能调试64位进程 . ”

    我的解决方案非常简单:

    • 从路径中删除 C:\Program Files (x86)\dotnet ;

    要么

    • 彻底卸载x86 .net sdk .

相关问题