我有幾個使用 docker-compose dockerized 的 ASP.NET Core (6.0) WebApi 專案。對于本地開發,我使用一個 docker-compose 檔案,該檔案參考 Dockerfiles 以除錯模式構建/發布專案。然后為了除錯,我使用“Docker .NET Core Attach (Preview)”啟動配置并選擇相應的 docker 容器,然后提示我將 .NET Core 除錯器復制到容器中。
直到最近,這一直有效,我可以在容器內除錯。現在突然,在提示并嘗試將除錯器復制到容器中后,我總是收到以下錯誤:
開始:“docker” exec -i web_roomservice /remote_debugger/vsdbg --interpreter=vscode
來自管道程式“docker”的錯誤:致命錯誤:無法初始化調度程式,錯誤為 80131534
管道程式“docker”意外退出,代碼為 255。
我嘗試重新安裝 Docker Engine docker-compose(使用最新版本),重新安裝 VS Code 'Docker' 和 'C#' 擴展,從 ASP.NET Core 5.0 遷移到 6.0(因為不支持 5.0不再)并且顯然多次重建我的影像,但似乎沒有任何效果,我在網上找不到任何東西。對此的任何幫助將不勝感激,因為到目前為止我無法除錯哪個很糟糕。
這些是我的 docker-compose、Debug-Dockerfile 和啟動配置(用于一個專案/服務):
version: "3.7"
services:
roomservice:
image: web_roomservice
container_name: web_roomservice
build:
context: ./
dockerfile: Dockerfile.RoomService.Debug
expose:
- "5011"
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- ASPNETCORE_ENVIRONMENT=Development
user: "root:root"
logging:
driver: "json-file"
options:
max-size: "5m"
(還有更多,但我只在這一項服務中包含了該部分)
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
#EXPOSE 5011
ENV ASPNETCORE_URLS=http:// :5011
# Install netpbm which is used for .pgm to .png file conversion for map images
RUN apt-get -y update --silent
RUN apt-get -y install netpbm --silent
# Creates a non-root user with an explicit UID and adds permission to access the /app folder
# For more info, please refer to https://aka.ms/vscode-docker-dotnet-configure-containers
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["RoomService/RoomService.csproj", "./RoomService/"]
COPY ["EventBusRabbitMQ/EventBusRabbitMQ.csproj", "./EventBusRabbitMQ/"]
COPY ["Common/Common.csproj", "./Common/"]
RUN dotnet restore "RoomService/RoomService.csproj"
COPY RoomService ./RoomService
COPY EventBusRabbitMQ ./EventBusRabbitMQ
COPY Common ./Common
WORKDIR "/src/RoomService"
RUN dotnet build "RoomService.csproj" -c Debug -o /app/build
FROM build AS publish
RUN dotnet publish "RoomService.csproj" -c Debug -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "RoomService.dll"]
(此 Dockerfile 放置在作業區檔案夾(實際 RoomService 專案檔案夾的父級)中,以便包含Common專案)
{
"version": "0.2.0",
"configurations": [
{
"name": "Docker .NET Core Attach (Preview)",
"type": "docker",
"request": "attach",
"platform": "netCore",
"sourceFileMap": {
"/src/RoomService": "${workspaceFolder}"
}
}
]
}
(此啟動配置放置在實際 RoomService 專案檔案夾的 .vscode 子檔案夾中)
uj5u.com熱心網友回復:
今天遇到了同樣的問題。如果您在 MacOS 上,請嘗試洗掉 ~/vsdbg 目錄。
uj5u.com熱心網友回復:
大衛是對的。我遇到了同樣的問題。我正在運行 WSL2 (Ubuntu),當我洗掉了~/.vsdbg為我解決問題的目錄時。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/477734.html
標籤:码头工人 asp.net 核心 调试 视觉工作室代码 码头工人撰写
上一篇:X509TrustManagercheckServerTrustedwithTLSv1.3
下一篇:根據輸入啟用/禁用按鈕
