我想进入/调试web 2(Version5.2.3)代码源代码来理解它。
我创建了一个简单的web应用程序,在WebApi.config,中,我在这一行设置了一个断点:
config.Routes.MapHttpRoute(
name: "ExcludedRoute",
routeTemplate: "api/{controller}/{action}",
defaults: new { id = RouteParameter.Optional },
constraints: new { Controller = "healthcheck", action = "check" }
);我可以进入MapHttpRoute方法和其他类,但是调试器不能从System.Web dll中进入路由类,在图像下面:

我尝试使用这个符号文件位置:

我还使用dotpeek工具从bin文件夹生成pdb文件,方法是将引用程序集的“复制本地”功能设置为真,但没有成功。system.web dll的路径是
Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Web.dll C:\Program (x86)\Reference
我想知道为什么调试器不能进入属于system.Web dll的路由类,它的版本是4.0,web.api的版本是5.2.3。
在我的搜索中,我下载了asp.net的代码源代码,并发现包含HttpWebRoute类的项目System.Web.Http.WebHost。
有什么想法吗?
谢谢!
发布于 2017-12-07 10:05:27
程序集System.Web.pdb在.NET框架源代码中。您需要在“工具”“.NET选项”->“调试->常规”菜单中配置Visual以调试->框架。
参考资料:
How do I debug .NET 4.6 framework source code in Visual Studio 2017?
https://stackoverflow.com/questions/47673838
复制相似问题