如何解决 Rider docker 调试问题
Posted
技术标签:
【中文标题】如何解决 Rider docker 调试问题【英文标题】:How to solve rider docker debugging issue 【发布时间】:2020-03-27 12:38:38 【问题描述】:所以我有一个在 Visual Studio 上开发的 .net core 3.1 web api 项目。我现在已切换到骑手,但在尝试调试应用程序时出现错误。我可以运行它构建的应用程序,并且在本地 docker 容器中运行良好。
当我按下调试按钮时,我收到以下错误:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'JetBrains.Platform.Core, Version=777.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325' or one of its dependencies.
File name: 'JetBrains.Platform.Core, Version=777.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'JetBrains.Platform.Core, Version=777.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325' or one of its dependencies.
File name: 'JetBrains.Platform.Core, Version=777.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325'
是什么导致了这个错误,我该如何解决?
附加信息:
Dockerfile:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Niverobot.WebApi/Niverobot.WebApi.csproj", "Niverobot.WebApi/"]
COPY ["Niverobot.Domain/Niverobot.Domain.csproj", "Niverobot.Domain/"]
RUN dotnet restore "Niverobot.WebApi/Niverobot.WebApi.csproj"
COPY . .
WORKDIR "/src/Niverobot.WebApi"
RUN dotnet build "Niverobot.WebApi.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Niverobot.WebApi.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Niverobot.WebApi.dll"]
在 Rider 中运行配置:
【问题讨论】:
我也在 Windows 上运行 【参考方案1】:我在 Rider 的文档中读到它还不支持 Windows 上的 docker 调试。
【讨论】:
【参考方案2】:您好,您问我上个月能否分享我的运行/调试配置。我今天才看到消息。在这里。
我不记得除了遵循文档来使其正常工作之外的其他任何事情。我最近将 Rider 升级到 2020.1,发现这有助于解决我在 Rider 中运行 .NetCore 3.1 时遇到的一些问题。
我发现我的设置和你的设置之间的唯一区别是我使用的是 docker-compose
【讨论】:
以上是关于如何解决 Rider docker 调试问题的主要内容,如果未能解决你的问题,请参考以下文章
在 Rider 中从 docker-compose 调试 .net 核心容器是错误的
JetBrains Rider 调试 Docker Compose 引发异常“名称或服务未知”
无法使用 Rider 调试使用 docker 容器和 docker-compose 构建的 .net 核心应用程序。容器退出代码 139