如何查看ASP.NET Core 3.1中Host类相关方法的具体实现
查看ASP.NET Core 3.1中Host相关方法实现的可行方式
你转到定义只看到方法声明、看不到实现,是因为默认IDE加载的是程序集的引用元数据,没有关联实际源码,用下面几个方法就能看到完整实现逻辑:
- 开启IDE的Source Link源链接支持
这是最方便的方式:在Visual Studio的「工具-选项-调试-常规」设置里,取消勾选「启用仅我的代码」,勾选「启用源链接支持」,之后再对Host.CreateDefaultBuilder()、Build()这类方法执行转到定义,或者调试时步进进入方法,IDE会自动从微软符号服务器拉取对应3.1版本的官方源码,直接在编辑器里展示完整实现,和你本地写的代码展示效果完全一致。首次加载需要联网拉取符号和源文件,等加载完成就能顺着看全整个主机创建、构建的全流程逻辑。 - 用反编译工具直接查看实现
不想联网拉源的话,用反编译能力就行:Visual Studio可以安装ILSpy或者ReSharper扩展,Rider、VS Code装对应反编译插件之后,右键对应方法选择「转到实现」,工具会自动把引用的Microsoft.Extensions.Hosting相关程序集反编译成可读的C#代码,逻辑和官方源码几乎没有差异,足够梳理执行流程。 - 本地拉取对应版本官方源码查看
你也可以直接找ASP.NET Core 3.1对应的官方源码tag,把仓库拉到本地,之后在IDE里把调试源文件路径指向你本地的源码目录,不仅能随时翻看实现,还能直接加断点、加注释跟踪执行过程,适合需要深挖整个主机生命周期逻辑的场景。
注意静态类
Host属于Microsoft.Extensions.Hosting包,不是ASP.NET Core MVC独有的内容,看源码的时候可以重点关注这个程序集下的相关实现,不用在Web相关的功能目录里翻找。
内容的提问来源于stack exchange,提问作者everwisher
相关产品推荐
相关产品推荐

