我没有VS 2017,我将在VS代码中构建一个Web前端,因此我想使用VS码。使用VS代码进行.NET核心调试 - “只能调试64位进程”
直到.NET 2.0标准出来,我们的图书馆也是4.6.1,所以我在我的.NET核心的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
和dotnet run
构建和运行。我也有最新的ms-vscode.csharp扩展1.8.1。
然而,当我尝试连接或与VS代码调试这个应用程序,我得到的错误
无法连接到用户的过程:只有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不支持针对其他框架?
尝试添加' ** YOUR-OS-ID-HERE ** - x64 RuntimeIdentifier>'。请参阅https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog以获取特定于操作系统的标识符列表 –
Tseng
@Joe与同样的问题一起构建,你能解决它吗? – nik
@nik,x3ro的解决方案奏效。将运行时标识符设置为win7-x64并将配置中的正确exe文件作为目标。 – Joe