How can I debug the source code of .Net Core or the Base class libraries (coreFx)?

[亡魂溺海] 提交于 2019-12-21 04:54:08

问题


I am using .NET Core 1.0 and Visual Studio 2015 Update 3 to make a simple Asp.Net Core MVC website.

How can I debug my application and "Step Into" the .NET Core source code that is available on GitHub?

Specifically, I am trying to troubleshoot one issue with Microsoft.AspNetCore.Authentication.Facebook 1.0.0 assembly that I fetched from NuGet.


回答1:


I wrote this article more than 1 year ago so it's a bit out of date but the idea is still the same:

  1. You sync to the correct tag from GitHub. In your case, you probably want to sync to tag 1.0.0
  2. Build that repository by running build.cmd or build.sh
  3. Add the src folder path to your app's global.json file. For example, if you cloned Security in D:\Security, then you add D:/Security/src to global.json in the projects property.
  4. Rebuild everything and it should work.

PS: If you use VS and don't see immediately the new code, try restarting it. It's a known issue that sometimes it doesn't pick up the changes to global.json




回答2:


Update to fit new VS 2017

In Visual Studio 2017 15.3.5 and later We can use SourceLink support for debugging .NET Core and ASP.NET Core sources. To enable source link support just Disable Enable Just My Code and and Enable Enable Source Link Support. Then Enable Microsoft symbol servers.


Victors answers works well with vs 2015.For some one who is looking for a solution with vs 2017,
In vs 2017 there is no global.json availble.So instead of adding folder path in global.json a project reference has to be added and rebuild.
All the others mentioned in Victors article works same as with 2015.
It is important that the git hub tag and the nuget package matches have the same versions.




回答3:


Also make sure that on a solution level, you have your project "configration", set to debug. See screenshot.
. .

(For the solution properties to show up, right click on the .sln in the solution explorer.)



来源:https://stackoverflow.com/questions/38448924/how-can-i-debug-the-source-code-of-net-core-or-the-base-class-libraries-corefx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!