C# 在本地主机上使用ASP.NET web应用程序时,如何清除razor文件的缓存

C# 在本地主机上使用ASP.NET web应用程序时,如何清除razor文件的缓存,c#,asp.net,C#,Asp.net,我们有一个ASP.NET网站,它使用.NETFramework4.6,我们使用rider和VisualStudio进行开发 每隔一段时间,我就会发现人们会得到旧的razor文件,这些文件仍然试图寻找不再存在的函数/引用。我知道那些razor文件是缓存的,我们需要清除缓存 所以,我们通常会进行这些步骤 清除%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\\ComponentModelCache 干净的 C:\Windows\Microsoft.

我们有一个ASP.NET网站,它使用.NETFramework4.6,我们使用rider和VisualStudio进行开发

每隔一段时间,我就会发现人们会得到旧的razor文件,这些文件仍然试图寻找不再存在的函数/引用。我知道那些razor文件是缓存的,我们需要清除缓存

所以,我们通常会进行这些步骤

  • 清除%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\\ComponentModelCache
  • 干净的 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NET临时文件\root
  • 如果适用,请从项目文件夹结构中清除\obj和\bin
  • 这些步骤的某些组合通常适用于大多数人,但当它不起作用时,我们必须手动转到每个razor文件(它抱怨有错误)并添加一个空间并保存它以强制清除缓存。有时它是一个或两个文件,但有时有10个文件

    因此,我想知道当我们再次发现此问题时,清除razor文件缓存的正确/推荐方法是什么

  • 如果需要清除已编译的razor文件,则“临时ASP.NET文件”是最佳位置,如所示

  • 您还可以尝试通过向生成配置中添加以下内容来强制编译:

    
    真的
    
    有关更多信息,请参阅

  • 如果上述方法都不起作用,那么比打开所有文件并添加空间稍微好一点的解决方法是更新所有视图的文件修改时间:

    Get ChildItem.\Views \-Recurse |%{$\ LastWriteTime=Get Date}
    

  • 每当我面对这样的缓存问题,我将尝试在IE中以“匿名”窗口或“InPrivate”模式打开页面。@Thangadurai我不认为这是我在这里谈论的浏览器缓存问题。这是Visual Studio中发生的事情还是通过浏览器访问网站时发生的事?@GregBurghardt通过浏览器使用网站时。这似乎是IIS配置问题