在asp.net core中,如果在Startup中添加 app.UseDeveloperExceptionPage(); ,则在Development环境下,如果发生未处理异常,会显示一个对开发者友好的错误页面。
通过 Microsoft.AspNetCore.Diagnostics 的源码可知,这个友好错误页面是通过MVC实现,有视图文件 ErrorPage.cshtml ,但是我在应用程序只是引用了Microsoft.AspNetCore.Diagnostics.dll,并没有看到这个视图文件的踪影。
应该是这个视图文件被一起编译进了程序集,请问这是如何做到的呢?我也想学会这一招,用它解决一个实际问题。
"buildOptions": {
"embed": "Views/**/*.cshtml"
}
仅供参考!
Microsoft.AspNetCore.Diagnostics源代码里面是直接把页面编译之后的代码copy进去的。
就几个页面的话,也可以用这种方法,直接把页面编译代码copy到工程。
如果是很多页面可以用:https://blogs.msdn.microsoft.com/laurieatkinson/2016/10/01/build-a-reusable-view-component-in-asp-net-core/
这个是通过 Razor
生成的,普通的 Razor 视图是没有 .Designer.cs 文件的: