c# - 在本地主机上使用 ASP.NET Web 应用程序时如何清除 razor 文件的缓存
问题描述
我们有一个使用 .NET 框架 4.6 的 ASP.NET 网站,我们使用 Rider 和 Visual Studio 来处理它。
每隔一段时间,我就会发现人们得到旧的 razor 文件,这些文件仍然试图寻找不再存在的函数/引用。我知道那些剃刀文件被缓存了,我们需要清除缓存。
所以,我们通常会走这些步骤
- 清理 %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\\ComponentModelCache
- 清理 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root
- 在适用的情况下,从项目文件夹结构中清除 \obj 和 \bin。
这些步骤的某些组合通常适用于大多数人,但当它不起作用时,我们必须手动转到每个剃须刀文件(抱怨错误)并添加空格并保存以强制清除缓存。有时它是单个文件或 2 个文件,但有时有 10 个文件。
因此,想知道每当我们再次发现此问题时清除剃刀文件缓存的正确/推荐方法是什么。
解决方案
如果您需要清除已编译的剃须刀文件,那么“临时 ASP.NET 文件”是最佳位置,根据此答案。
您还可以尝试通过将MvcBuildViews添加到构建配置来强制编译:
<PropertyGroup> <MvcBuildViews>true</MvcBuildViews> </PropertyGroup>
有关更多信息,请参阅此答案。
如果以上都不起作用,比打开所有文件并添加空格更好的解决方法是更新所有视图的文件修改时间:
Get-ChildItem .\Views\ -Recurse | % { $_.LastWriteTime = Get-Date }
推荐阅读
- php - 如果 php.ini 中的 post_max_size=8000M,如何使用 PHP 检查最大文件大小
- sql - 具有重复值的案例语句,Hadoop
- database-normalization - 具有函数依赖关系的依赖关系保持分解不会出现在子模式中
- django - 找不到 PUT 方法的 Django Rest Framwork CSRF cookie
- javascript - 在 Excel 中导出时,欧元符号“€”显示不佳
- powerbuilder - 我正在使用 PowerBuilder,但 (if, or, and) 条件有问题
- python - 如何更快地获得子矩阵块?
- php - 检查 Path 是否指向 DIRECTORY 内部或 path 是 DIRECTORY 的子目录
- php - PHPMailer 在点击提交按钮时将电子邮件发送到不同的地址和不同的正文
- ios - 使用LinkedinSwift的LinkedIn登录突然无法正常工作