我创建了一个类库项目,该项目生成带符号和源的nuget包。 webforms项目使用此nuget包。
要调试项目,可以附加到IIS进程并适当地设置断点。这适用于与webforms项目在同一解决方案中的代码。
我希望能够通过原始类库项目调试类库中的代码(案例1),并通过在webforms中打开源文件来附加到IIS进程OR(案例2)溶液
在第一种情况下,我可以正常访问源文件,断点看起来也可以工作(没有关于未加载符号的错误) - 但是没有命中断点。
在案例2中,我不知道任何加载源文件的方法。我能想到的最好的就是踩到源文件,由于应用程序的结构很难做到。
有没有办法通过在文件中设置断点而不是踩到它来调试nuget包?
答案 0 :(得分:1)
如果您有权访问生成给定nuget的解决方案,那么最简单的方法就是直接从它处理工作流程。
选择Debug -> Attach To Process
应用的webform
查找流程 - 最常见的是w3wp.exe
和Attach
。最好的方法是使用本地构建的dll进行调试。
如果您正在从解决方案运行您的webform应用程序,您可以使用Debug -> Start without Debugging
运行它,否则它可能会以调试器已附加的错误结束。
没有源代码的解决方案它也应该工作。如果它不起作用,请确保您没有将其排除在Debug->Option->Debugging->Symbols->{All modules / Only specified}
有很多其他原因的好故障排除指南是这篇文章:How to debug external class library projects in visual studio?
我发现R#
软件无论如何都会增强消费代码的debuging选项,即使VS
能够这样做。