除非重新启动IIS Express,否则ASP.Net 5/MVC6 Razor视图不会随浏览器中的更改而更新

本文关键字:浏览器 视图 更新 Razor MVC6 Express IIS 重新启动 否则 Net ASP | 更新日期: 2023-09-27 18:29:26

我目前有一个MVC6/ASP.Net 5项目。我"在不调试的情况下启动",应用程序加载到浏览器中。我可以对.cs文件进行更改并重新编译,它们会显示在应用程序中。

然而,当我对剃刀文件(*.cshtml)进行任何更改时,它们根本不会显示。我必须关闭IIS express并重新启动,以便显示更改。我团队的其他成员正在使用相同的代码库/解决方案,这对他们来说很好。

我已经更新到VS SP1,并重新安装了该工具。运气不好。

请帮忙!

除非重新启动IIS Express,否则ASP.Net 5/MVC6 Razor视图不会随浏览器中的更改而更新

很可能您将.csproj MvcBuildViews属性设置为true。要进行检查,请卸载项目(右键单击),然后使用文本编辑器进行编辑。

该属性消除了"第一次访问视图时的滞后",但增加了构建时间(和启动时间),并引入了类似的情况。

如果您启用了它,只在Release(而不是Debug)配置中启用该属性可能会有所帮助:

<MvcBuildViews>true</MvcBuildViews>替换为以下内容:

<MvcBuildViews Condition="'$(Configuration)'=='Debug'">false</MvcBuildViews>
<MvcBuildViews Condition="'$(Configuration)'=='Release'">true</MvcBuildViews>

----------编辑--------

事实上,有时候这还不够。很可能(在上面的一个之后),您已经在web.config中的<system.web>内的<compilation>元素上设置了optimizeCompilations="true"属性

如果你不想删除它,你可以定期删除这个文件夹的所有内容:%localappdata%'Temp'Temporary ASP.NET Files'vs(是的,你可以直接在文件资源管理器地址栏中输入)

此外,请尝试我的OP评论中的建议:

临时救援是在浏览的URL中添加一个缓存阻塞(?nocache=1,2等),同时引入Razor c#语法错误然后,在重新加载后,删除语法错误和页面将被重新加载。。。

我遇到了同样的问题。

关闭Visual Studio并删除解决方案目录中的.vs文件夹对我很有效。

我认为IIS Express的配置已损坏。这可能就是它对我有效的原因。

这是一个错误,我在StyackOverflow上找到了解决这个问题的答案。其他堆叠文章在这里

尝试清除IISExpress缓存/应用程序空间:https://gyorgybalassy.wordpress.com/2013/12/02/cleaning-up-iis-express-configuration/

它以前对我产生过奇迹。