Bri*_*den 14 .net c# linux docker asp.net-core
我收到以下错误:
"The breakpoint will not currently be hit. A copy of TokenController.cs was found in TSL.Security.Service.dll, but the current source code is different from the version built into the TSL.Security.Service.dll."
Run Code Online (Sandbox Code Playgroud)
我将逐步了解如何构建我的.NET Core Docker镜像并从此图像运行Container实例,然后使用Visual Studio 2017连接远程,我的Dockerfile.debug位于我的问题的底部:
cd ~/repos/api.security//一个git存储库git pull //从git for .NET Core项目中提取最新代码dotnet restoredotnet publish //没有其他args与.pdbs一起发布docker build -t tsl.api.security.image.debug -f Docker.debug .docker run -d -p 8080:5000 -p 10222:22 --name=tsl.api.security.container.debug -t tsl.api.security.image.debug //在端口5000上的Container中运行并映射我的.NET Core Webapi到主机端口8080并将容器(端口22)中的ssh映射到主机上的端口10222docker exec -it tsl.api.security.container.debug bash //终端从主机进入运行容器/usr/sbin/sshd //启动sshd好的,现在该容器已准备好使用Visual Studio 2017在我的机器上使用Visual Studio 2017进行远程调试:



如果我们/app在Docker Container中查看,我们可以看到pdbs:
并且源代码是相同的,因为我的工作流程说明中的git pull步骤演示了.
不知道从哪里开始......
这是我的Dockerfile.debug:
# Use the standard Microsoft ASP.NET Core container
FROM microsoft/aspnetcore
# File Author / Maintainer
MAINTAINER Brian Ogden
WORKDIR /
RUN apt-get update && apt-get install -y unzip
RUN apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:password' | chpasswd
RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
#install CLRDBG, Microsoft's new cross-platform command line debugger used for debugging code running on .NET Core
RUN curl -sSL https://aka.ms/getclrdbgsh | bash /dev/stdin vs2015u2 ~/clrdbg
# Copy our code from the "/src/MyWebApi/bin/Debug/netcoreapp1.1/publish" folder to the "/app" folder in our container
WORKDIR /app
COPY ./src/TSL.Security.Service/bin/Debug/netcoreapp1.1/publish .
# Expose port 80 for the Web API traffic
ENV ASPNETCORE_URLS http://+:5000
EXPOSE 5000 22
ENTRYPOINT ["dotnet", "TSL.Security.Service.dll"]
Run Code Online (Sandbox Code Playgroud)
小智 7
Tools->Options->Debugging->General,关闭"要求源文件与原始版本完全匹配".不理想,但至少它会达到VS2017源代码中设置的断点.
一旦找到如何正确解决此问题,请通知我.
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |