当我将Visual Studio附加到在IIS中运行的Asp.Core MVC应用程序时,不会出现断点。我检查了将文件放入其中的IIS文件夹,里面有所需的.pdb文件。这些文件是通过VS中的发布命令创建的。
我不知道您需要我在这里分享什么,非常抱歉提供的这些信息。
答案 0 :(得分:1)
我假设您的意思是完整的IIS,而不是IIS Express。
在Visual Studio的“项目属性”中检查“ Web”设置。您正在寻找三件事:
请在此处查看说明,包括屏幕截图:https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-enable-debugging-for-aspnet-applications?view=vs-2017#debug-aspnet-apps
答案 1 :(得分:0)
首先,请确保web.config文件中的debug属性为true。
如果调试器未加载.pdb文件,则不会选中Breakpiont。因此,请确保符号由调试器加载。我们可以通过以下步骤(Debug-> Windows-> Modules)检查调试器是否加载了该pdb文件,然后选择dll模块以查看是否加载了pdb文件。如果未加载pdb文件,则可以手动加载它(右键单击dll模型->选择加载符号)。
答案 2 :(得分:0)
我最喜欢的在本地调试IIS / IIS Express的技巧是添加一些代码。
Global.asax.cs中的某处
public static void Application_Initialize() {
AttachDebugger();
...
}
[Conditional("DEBUG")]
private void AttachDebugger() {
if (!System.Diagnostices.Debugger.IsAttached()) {
System.Diagnostics.Debugger.Launch();
}
System.Diagnostics.Debugger.Break();
}
答案 3 :(得分:0)
请确保正确键入您的Project Url。在我的情况下,主机名(即http:// localhost / webApplication )后缺少文件夹名称, 这导致断点不会被击中。 screenshot