.Net 472&6.0 Razor编译时的小差异

💡 原文中文,约5800字,阅读约需14分钟。
📝

内容提要

本文讲述了将.Net 4.7.2升级到6.0时对Razor视图的迁移过程中遇到的问题,包括关闭了构建和发布时的Razor编译导致的报错无法得知,以及6.0中Razor视图按tag分块而4.7.2中不分块的差异。此外,还介绍了在控制台中使用Razor模板引擎的渲染过程。

🎯

关键要点

  • 文章讨论了从.Net 4.7.2升级到6.0时Razor视图迁移中的问题。
  • 在4.7.2中,Razor视图的编译没有分块,而在6.0中则按tag分块。
  • 关闭构建和发布时的Razor编译导致无法得知报错信息。
  • 在6.0中启用运行时编译以加快迁移速度,但仍然出现页面报错。
  • 对比472和6.0的IL分析,发现Razor视图在6.0中按tag分块,导致变量不能在不同tag间共享。
  • 源码分析显示472和6.0的Razor编译过程存在显著差异。
  • 在控制台中使用Razor模板引擎时,不会按照tag分块,生成的代码结构不同。
➡️

继续阅读