【发布时间】:2021-12-18 17:47:58
【问题描述】:
我问这个问题只是因为我已经尝试了所有其他与慢速剃须刀编译相关的问题中提出的每一个解决方案(在 SO 和 MSDN 上),但我完全迷路了。
上下文:
我有一个 ASP NET MVC 4 (.NET Framework 4.6.2) 项目,在 .csproj 的发布配置中启用了 Razor 视图预编译:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
IDE 是 Visual Studio 2019 版本 16.11.75.64347
在从功能分支完成合并之前一切正常。在此合并之后,当我在 Release 中编译项目时 配置视图会花费大量时间(40 多分钟)进行编译。编译时,我可以在“输出”窗口中看到缓慢出现的常用代码警告(未使用的变量、无法访问的代码等...),因此它似乎并没有停留在单个任务上,但它只是非常缓慢地编译所有意见。
如果我在 Debug 中运行项目,视图不会被预编译,因此项目会立即启动,但每个页面的每次首次加载都会再次花费大量时间(每页 3 分钟以上) )。无论您如何调用它,Razor 视图编译似乎都需要很长时间。
问题
在预编译视图和在运行时编译时,Razor View (.cshtml) 编译需要永远进行。
我尝试了什么:
阅读此处的所有其他问题以及我尝试过的其他论坛:
- 删除项目解决方案中的 .vs 文件夹
- 清理解决方案并重新启动 VS\computer
- 更改 IIS Express 使用的端口
- 删除“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”中的所有文件
- 删除“C:\Users\USER\AppData\Local\Temp\Temporary ASP.NET Files”中的所有文件
- 删除“C:\Users\USER\AppData\Local\Microsoft\WebSiteCache”中的所有文件
- 删除项目目录中的 bin 和 obj 文件夹
- 以管理员身份运行 VS
- 在 VS 设置中启用和禁用 Just My Code
- 从“C:\Program Files (x86)\IIS Express”清除缓存和站点
附加信息:
当“卡住”编译视图时,我的 CPU (i7) 保持在 20-30% 左右,而 Visual Studio 使用 2-6%,因此 CPU 绝对不是这里的瓶颈。磁盘是SSD。内存为 16GB。
我的同事,和我运行相同的代码库,没有任何问题,编译时间正常。
任何其他项目(甚至是同一项目的原始分支,合并后导致问题的那个)都没有同样的问题。
部署相同应用程序的 BuildAgent(显然是在 Release 配置中)没有任何问题,所以这显然与我的设置有关。
【问题讨论】:
标签: c# asp.net-mvc visual-studio razor