Asp.net-Core
.NET Core 使用 VS Code 調試 - “只能調試 64 位程序”
我沒有 VS 2017,無論如何我都會在 VS Code 中建構一個 Web 前端,所以我想使用 VS Code。
在 .NET Standard 2.0 發布之前,我們的庫也在 4.6.1 中,所以我的 .NET Core csproj 中的目標是 net461:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net461</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" /> </ItemGroup> </Project>該項目是最簡單的
dotnet new webapi入門應用程序。dotnet build我可以使用and建構和執行dotnet run。我還有最新的 ms-vscode.csharp 擴展 1.8.1。但是,當我嘗試使用 VS Code 附加或調試此應用程序時,出現錯誤
無法附加到程序:只能調試 64 位程序
即使從控制台執行,然後使用非常簡單的配置進行附加:
{ "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" }並且選擇該過程失敗並出現此錯誤。我嘗試使用以下命令建構針對 x64 的 exe:
<PropertyGroup> <TargetFramework>net461</TargetFramework> <Platform>x64</Platform> </PropertyGroup>但它會產生同樣的錯誤。有人知道修復嗎?好像是因為我針對的是net461,調試.Net Core不支持針對其他框架嗎?
ms-vscode.csharp 擴展的 1.9.0 版添加了桌面 CLR 支持。
修改你的 launch.json 文件:
"type" : "clr", "program" : "path to x64 version of the executable.exe"要以 x64 為目標,請修改 .csproj 文件,如下所示:
<PropertyGroup> <TargetFramework>net461</TargetFramework> <RuntimeIdentifier>win7-x64</RuntimeIdentifier> </PropertyGroup>指定執行時 id 後的範常式序路徑:
"program" : ${workspaceRoot}/src/bin/Debug/net461/win7-x64/example.exe
下面為我工作:
- 轉到環境變數
- 為路徑系統變數選擇編輯
- 將 C:\Program Files\dotnet\ 條目向上移動到 C:\Program Files (x86)\dotnet\
- 點擊確定
- 關閉並再次啟動 VS Code。