【发布时间】:2017-04-11 10:45:09
【问题描述】:
我没有 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 和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不支持针对其他框架吗?
【问题讨论】:
-
尝试添加
<RuntimeIdentifier>**YOUR-OS-ID-HERE**-x64</RuntimeIdentifier>。有关操作系统特定标识符的列表,请参阅 docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog -
@Joe 遇到同样的问题,你能解决吗?
-
@nik,x3ro 的解决方案奏效了。将运行时标识符设置为 win7-x64 并在配置中定位正确的 exe。
-
Thx @Joe,在我的情况下,我错过了 .net 核心的 x86 sdk(已安装 x64)。仍然想知道为什么我收到该错误消息...
标签: asp.net-core visual-studio-code