我可以使用源断点调试nuget包而不是插入它吗?

时间:2016-12-20 18:14:52

标签: c# asp.net debugging webforms nuget

我创建了一个类库项目,该项目生成带符号和源的nuget包。 webforms项目使用此nuget包。

要调试项目,可以附加到IIS进程并适当地设置断点。这适用于与webforms项目在同一解决方案中的代码。

我希望能够通过原始类库项目调试类库中的代码(案例1),并通过在webforms中打开源文件来附加到IIS进程OR(案例2)溶液

在第一种情况下,我可以正常访问源文件,断点看起来也可以工作(没有关于未加载符号的错误) - 但是没有命中断点。

在案例2中,我不知道任何加载源文件的方法。我能想到的最好的就是踩到源文件,由于应用程序的结构很难做到。

有没有办法通过在文件中设置断点而不是踩到它来调试nuget包?

1 个答案:

答案 0 :(得分:1)

如果您有权访问生成给定nuget的解决方案,那么最简单的方法就是直接从它处理工作流程。 选择Debug -> Attach To Process应用的webform查找流程 - 最常见的是w3wp.exeAttach。最好的方法是使用本地构建的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能够这样做。