首页 新闻 搜索 专区 学院

Microsoft.AspNetCore.Diagnostics是如何把mvc视图打包进程序集的

0
悬赏园豆:50 [已解决问题] 解决于 2016-12-29 11:06

在asp.net core中,如果在Startup中添加 app.UseDeveloperExceptionPage(); ,则在Development环境下,如果发生未处理异常,会显示一个对开发者友好的错误页面。

通过 Microsoft.AspNetCore.Diagnostics 的源码可知,这个友好错误页面是通过MVC实现,有视图文件 ErrorPage.cshtml ,但是我在应用程序只是引用了Microsoft.AspNetCore.Diagnostics.dll,并没有看到这个视图文件的踪影。

应该是这个视图文件被一起编译进了程序集,请问这是如何做到的呢?我也想学会这一招,用它解决一个实际问题。

dudu的主页 dudu | 高人七级 | 园豆:38795
提问于:2016-12-27 14:15
< >
分享
最佳答案
1
  • Make sure the project.json of the Class Library project indicates to embed the views into the DLL using this code:

  "buildOptions": {
"embed": "Views/**/*.cshtml"
}

 

仅供参考!

收获园豆:40
czd890 | 大侠五级 |园豆:9188 | 2016-12-27 16:44

Microsoft.AspNetCore.Diagnostics源代码里面是直接把页面编译之后的代码copy进去的。

就几个页面的话,也可以用这种方法,直接把页面编译代码copy到工程。

如果是很多页面可以用:https://blogs.msdn.microsoft.com/laurieatkinson/2016/10/01/build-a-reusable-view-component-in-asp-net-core/

czd890 | 园豆:9188 (大侠五级) | 2016-12-27 17:18
其他回答(1)
0

这个是通过 Razor 生成的,普通的 Razor 视图是没有 .Designer.cs 文件的:




收获园豆:10
seayxu | 园豆:5468 (大侠五级) | 2016-12-27 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册