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

时间:2018-01-31 08:23:57

标签: c# debugging visual-studio-code

我已经安装了x86和&amp;我的笔记本电脑上的 .net core 2.0 的x64 sdk(win 7 sp1 x64)。我不知道为什么vs代码(1.19.3&amp; x64&amp;官方c# extension)总是选择x86运行时auto来构建我的控制台并始终遇到错误和弹出消息:&#34; < strong>只能调试64位进程。&#34;。

然后我尝试了:

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

  2. 我通过运行&#34; C:\ Program Files \ dotnet \ dotnet&#34;尝试了简单的控制台项目。新控制台。调试时出现错误消息。

  3. 此外,我尝试通过修改文件 .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"
        }
    ]
    

    }

  4. 错误消息仍然存在&#34;只能调试64位进程。&#34;。

    我是x64 vscode,我是x64 sdk&amp;运行时,我创造了&amp;使用x64版本的sdk编译,并从内部终端显示编译成功。

    任何人都知道为什么以及如何绕过此错误并能够进行调试?(请不要告诉我安装VS,这对我来说很重要。)

2 个答案:

答案 0 :(得分:2)

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

原因:

  1. 我在x64旁边安装了x86 .net核心sdk。然后是系统环境变量&#34; path&#34;包含 C:\ Program Files(x86)\ dotnet C:\ Program Files \ dotnet ;
  2. Visual Studio代码中.net核心的调试器现在只支持x64版本。即使我强制使用x64构建,调试器也会识别路径中的 dotnet.exe 并隐式使用x86 dotnet.exe来运行 x64程序;
  3. 这就是我总是收到错误消息的原因:&#34;只能调试64位进程。&#34;

    我的解决方案非常简单:

    1. 从路径中删除 C:\ Program Files(x86)\ dotnet ;
      1. 彻底卸载x86 .net sdk。

答案 1 :(得分:1)

  1. 转到环境变量
  2. 选择“编辑路径”系统变量
  3. 将C:\ Program Files \ dotnet \条目移至C:\ Program Files(x86)\ dotnet \
  4. 点击确定
  5. 关闭并重新启动VS Code。