Mar*_*rko 16 debugging visual-studio-debugging asp.net-core visual-studio-2019
我使用 Visual Studio 2019 和 .NET Core 3 Web 应用程序。我想调试 .NET Core 源代码,所以当发生错误时,我可以深入研究代码并更详细地检查它。由于我找不到有关如何执行此操作的确切描述(即使在 Microsoft 文档站点上),我将尝试在此处总结我目前所知道的内容。
我在 Visual Studio 中有以下选项:
前两个选项是互斥的。我想我应该选择第二个选项,虽然我不明白这个选项中的天气“.NET 框架”包括 .NET Core?
现在 .NET Core 是开源的并且可以在 GitHub 上使用,我不明白第三种与第四种选择。第三个应该允许我从 Microsoft 符号服务器中提取源代码(符号包含源代码吗?)而第四个应该允许我从 GitHub 中提取源代码?我需要一个还是另一个?
首先,我在Main方法中的CreateHostBuilder 上放置一个断点,选择第三个选项并运行应用程序。断点被击中后,我继续单步执行代码 ( F11),直到出现一条消息“未找到 GenericHostBuilderExtensions.cs”。它让我可以浏览它,但我不知道在哪里可以找到它。
让我们再试一次,这次选择第四个选项(并取消选择第三个)。现在,在断点被击中后,Visual Studio 让我通过Source Link下载前面提到的文件。我接受,但结果是消息
源链接错误:Azure DevOps:所有帐户的身份验证失败。使用“文件 -> 帐户设置...”添加新帐户或刷新凭据。
好吧,我使用我的 Microsoft 帐户登录。我还应该做什么?
我再重复一遍,这次选择第三和第四个选项。结果是一样的。
现在我选择另一个Source Link选项:“Fall back to Git Credential manager...”并重新开始。同样的结果。
当然,我在谷歌上广泛搜索并花了很多时间试图找到解决方案,但我遗漏了一些东西。我非常感谢您对上述选项的具体作用以及如何通过单步调试 .NET Core 源代码提供帮助。
Lan*_*SFT 18
也许这个问题可以帮助解决你的难题。
就像vancem在该问题中描述的那样,调试 .net 核心源代码所需要做的就是:
1.取消选中(工具 -> 选项 -> 调试 -> 仅我的代码)复选框。
2.确保(工具 -> 选项 -> 调试 -> 符号设置 -> Microsoft 符号服务器)复选框已设置
3.确保选中(工具 -> 选项 -> 调试 -> 启用源链接支持)复选框
“未找到 GenericHostBuilderExtensions.cs”。
至于你为什么在这里失败。我认为这类似于我上面提供的问题。对于 .net core 3.0 预览版,其某些库目前在 github 中没有源链接,因此 vs 无法获取它们。(比如2017年的.net core 2.0,现在已经修复)
实际上,如果您按照上述选项操作,您会发现you can debug well .net core 2.x web-app
,但可能会失败for not finding source links for .net core 3.0
。
作为解决方法:
1.您可以尝试从git手动获取源代码,然后转到解决方案->属性->调试源文件,然后将您的目录添加到“包含源代码的目录”以检查它是否对某些情况有帮助。(vancem详细描述,感谢他)
2.GenericHostBuilderExtensions.cs的源码GenericHostBuilderExtensions.cs
可以在这里找到。我重现了同样的问题,通过下载xx.cs解决它并在调试过程中找到它。
3.但是我不得不说这种方式需要一些时间。由于不仅这个文件没有源文件,我们也会遇到类似的问题,除非.net core3.0中的所有源都有其源链接,否则必须从git中获取相应的源来解决它。但这可能需要一些时间,很抱歉给您带来不便。我建议您可以将其发布到 github 并在此处共享链接。对此感兴趣的成员将帮助投票。
希望以上所有帮助。
归档时间: |
|
查看次数: |
8296 次 |
最近记录: |