Tôi không có VS 2017 và tôi sẽ xây dựng một giao diện web trong VS Code, vì vậy tôi muốn sử dụng VS Mã.Gỡ lỗi lõi .NET với mã VS - "Chỉ các quy trình 64 bit mới có thể được gỡ lỗi"
Cho đến NET Chuẩn 2.0 đi ra, thư viện của chúng tôi cũng có trong 4.6.1, vì vậy tôi nhắm mục tiêu net461 trong .NET Lõi csproj tôi:
<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>
Dự án là dotnet new webapi
ứng dụng khởi động đơn giản nhất. Tôi có thể xây dựng và chạy với dotnet build
và dotnet run
. Tôi cũng có phần mở rộng ms-vscode.csharp mới nhất 1.8.1.
Tuy nhiên, khi tôi cố gắng gắn hay gỡ lỗi ứng dụng này với VS Mã Tôi nhận được lỗi
Không thể gắn với quá trình: Chỉ có 64-bit quá trình có thể được debugged
Thậm chí chạy từ bảng điều khiển, sau đó đính kèm với cấu hình rất đơn giản:
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
Và chọn quá trình không thành công với lỗi này. Tôi đã thử xây dựng nhắm mục tiêu exe x64 bằng:
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<Platform>x64</Platform>
</PropertyGroup>
Nhưng nó cũng tạo ra lỗi tương tự. Có ai biết sửa chữa không? Nó có vẻ là vì tôi đang nhắm mục tiêu net461, không gỡ lỗi. Net Core không hỗ trợ nhắm mục tiêu các khung công tác khác?
Thử thêm ' ** YOUR-OS-ID-HERE ** - x64 RuntimeIdentifier>'. Xem https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog để biết danh sách các số nhận dạng cụ thể của hệ điều hành –
Tseng
@Joe đấu tranh với cùng một vấn đề, bạn có thể sửa chữa nó không? – nik
@nik, giải pháp của x3ro đã hoạt động. Đặt định danh thời gian chạy thành win7-x64 và nhắm mục tiêu exe phù hợp trong cấu hình. – Joe