通常,当我要调试nuget程序包时,我下载源代码并将.csproj文件添加到解决方案中,并添加项目引用,而不使用nuget程序包。这样一来,我就可以逐步遍历代码,并查看正在进行的项目中发生了什么。
我有一个要调试的nuget包,但是它很大。我下载了源代码,该解决方案中包含大约20个项目。我尝试只添加其中一些,但最终遇到很多依赖项问题。
是否可以通过某种方式告诉Visual Studio HD上存在nuget软件包的源代码,这样就可以逐步执行它而不必在当前解决方案中添加20个项目?或以某种方式添加对整个解决方案的引用?
我在这里的目标是能够设置断点,以便当第三方编译的代码执行时,我可以逐步执行它,看看发生了什么。最好的方法是什么?
答案 0 :(得分:2)
假定应用程序是.NET 4.7.2。您可以尝试使用dnSpy,它可以调试和编辑内置的可执行文件/ dll。
GitHub页面:https://github.com/0xd4d/dnSpy
最新版本:https://github.com/0xd4d/dnSpy/releases/download/v5.0.0/dnSpy.zip
一旦下载
答案 1 :(得分:0)
Emcrank有一个非常有趣的解决方案,因为它没有源代码,但对我来说不合适。
对我来说,答案实际上非常简单。当要添加现有项目时,您可以更改下拉列表以添加.sln
文件。我创建了一个文件夹,然后向其中添加了解决方案,它通过一次交易即可将所有内容提取到其中,现在我可以轻松调试所有代码了。