【发布时间】:2023-03-20 22:59:01
【问题描述】:
我正在设置我的第一个 ASP.NET vNext Web 应用程序项目。
我已经让默认项目在 Windows 和 OSX 中构建和运行良好。我已经在 Mac 上使用红隼进行了测试,并在 Windows IIS Express 和红隼中进行了测试。
我遇到的问题是,在Windows中,在web服务器运行时编辑cshtml视图文件在我下次刷新浏览器时没有反映。
在 OSX 中,我可以运行“dnx web”并导航到 localhost:5000 并浏览该站点。然后我可以编辑 .cshtml 查看文件,切换回浏览器,点击刷新,我可以看到所有更改。这是我期望发生的并且在以前的版本中发生的情况。*
在 Windows 中,我可以在我在 OSX 上使用的同一站点上运行 dnx web 或 IIS Express,导航到 localhost:5000(或 IIS Express 自己的端口号)并浏览该站点。然后我切换到编辑 cshtml 查看文件,但是当我切换回浏览器进行重置时,没有显示更改。直到我重新启动 kestrel 或 IIS express 才会显示更改。
不过,奇怪的是,我可以编辑一个 .cs 控制器文件,然后网站会自行重新编译,我不需要重新启动它——至少在 Windows 中是这样。 (在 OSX 中,编辑控制器文件不会导致自动重新编译,但这是一个问题,我相信 dnx-watch 会解决这个问题。
我在 project.json 或其他设置文件中是否遗漏了导致 Windows 出现问题的内容?
我试过了:
- 创建第二个完全干净的 Web 应用程序项目
- 重新安装 ASP.NET
- 最后绝望的是,用 Visual Studio 2015 社区版创建 Windows 10 的全新安装,但无济于事
有什么方法可以让 Windows 中的 Kestrel 或 IIS Express 在更新后的 cshtml View 文件被编辑后提供服务,而无需重新启动服务器?
*旁注,OSX 中的 ASP.NET MVC 很棒!
【问题讨论】:
-
你排除浏览器缓存了吗?
-
是的 - wwwroot 中的静态文件更新正常,我对控制器进行更改后的 cshtml 视图文件也是如此(这会导致重新编译)
标签: asp.net-core asp.net-core-mvc