Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio 2019已停止调试,未显示加载的符号,403已禁用_C#_Visual Studio_Visual Studio Debugging - Fatal编程技术网

C# Visual Studio 2019已停止调试,未显示加载的符号,403已禁用

C# Visual Studio 2019已停止调试,未显示加载的符号,403已禁用,c#,visual-studio,visual-studio-debugging,C#,Visual Studio,Visual Studio Debugging,自一年多前安装以来,我一直在用VS2019调试一个C#单项目解决方案。它是为外部主机设置的,并使用项目URL框中的本地web地址。要开始调试,我只需单击工具栏中的“>Web服务器(Google Chrome)按钮即可开始调试网站 突然间,我无法再单击按钮进行调试。它给出了一个错误:“无法在web服务器上开始调试。”。远程服务器返回了一个错误:(403)禁止”。同样,本地服务器(servername.domain.net/CS)。据我所知,没有任何更改 但是,我可以附加到w3wp.exe并以这种方

自一年多前安装以来,我一直在用VS2019调试一个C#单项目解决方案。它是为外部主机设置的,并使用项目URL框中的本地web地址。要开始调试,我只需单击工具栏中的“>Web服务器(Google Chrome)按钮即可开始调试网站

突然间,我无法再单击按钮进行调试。它给出了一个错误:“无法在web服务器上开始调试。”。远程服务器返回了一个错误:(403)禁止”。同样,本地服务器(servername.domain.net/CS)。据我所知,没有任何更改

但是,我可以附加到w3wp.exe并以这种方式进行调试。这持续了大约一天。然后,当附加时,我所有的断点都会变黑,并说:“当前不会命中断点。”。没有为此文档加载任何符号”

多次启动和停止IIS并杀死w3wp.exe。多次清理、重建和重新发布。删除了所有bin目录和NuGet项目目录。尝试在日志、inetpub/logs中查找,只查看命中的页面,没有错误(可能是错误的日志)。bin目录中有.dll和.pdb

配置设置为debug,web.config.debug->Windows->Modules中的任何CPU.debug=true都会显示一行:Name=Script Code,Status=Symbols Loaded。右键单击它,选择Symbol Load Information只会显示“Symbols Loaded”,其他什么都不会显示

我卸载了/重新安装了,所有问题都没有改变…与卸载前一样。所以,我没有主意了。我还能尝试什么

编辑:大线索! 我相信这是一个线索,但我不知道这意味着什么。。。 我在这台服务器上有另一个网站(生产)。我将属性->网站,项目URL更改为另一个网站,单击工具栏中的开始按钮,它开始调试它!相同的代码,只是不同的目标。看看调试->窗口->模块,现在有很多

那么,为什么仅仅更改项目URL就可以进行调试呢?…我如何让它调试原始站点(开发)?希望这对某些人来说是有意义的

编辑2:
确认两个网站与Visual Studio位于同一服务器上,并且都使用https,而不是http;

您可能正在使用已过期的证书。这是一个好主意,我实际上在4/17更新了SSL证书。此后,服务器已多次重新启动。我将网站切换为自签名证书,然后返回到真实的证书,只是为了查看它是否正确会有所不同…它没有\TLS的默认版本与您的浏览器设置相同。因此,如果浏览器设置更改,TLS的版本也可能已更改。去年6月,Microsoft进行了一次安全推送,在服务器而不是客户端上禁用了TLS 1.0和1.1。因此客户端可能正在使用1.0和1.1,而服务器拒绝。但我没有由于403错误,情况并非如此。更可能的是,服务器设置已更改为需要HTTPS,而您仍在使用HTTP。我正在项目URL中指定HTTPS。但请看新的编辑。它正在使用此服务器上的第二个网站。那又怎样!这只意味着连接到一台服务器正在完成,而没有完成到另一台服务器的连接。该最好使用wireshark或fiddler之类的嗅探器,比较工作和非工作。TLS发生在发送请求之前。因此,在嗅探器上查看TLS和TLS的版本是否同时发生在工作和非工作上。如果使用HTTP,则不会发生TLS,然后检查是否发送了请求以及请求是HTTP还是HTTPS。