我在笔记本电脑上安装了 .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 回答
经过大约一天的调查,我得到了真正的理由和解决方案 . 感谢所有阅读我的问题的人 . (自问自答)
原因:
我在x64旁边安装了x86 .net核心sdk . 然后系统环境变量"path"包含 C:\Program Files (x86)\dotnet 和 C:\Program Files\dotnet ;
Visual Studio代码中.net核心的调试器现在只支持x64版本 . 即使我强制使用x64构建,调试器也会识别路径中的 dotnet.exe 并隐式使用x86 dotnet.exe来 run 一个x64程序;
这就是为什么我总是收到错误消息:“只能调试64位进程 . ”
我的解决方案非常简单:
要么