在主机文件系统上进行更改时,编辑并继续不更新,但是在正在运行的容器中更改它确实可以工作。
更新2018年8月8日,该替代方法正在工作并已修复,旨在进入ASP.NET Core 2.2
更新2018年8月7日几乎找到了解决方法:https://github.com/aspnet/Mvc/issues/8173
更新2018年7月25日。这仅影响Razor Pages。 MVC正常工作
更新2018年7月26日为正常工作的MVC进行复制的步骤:
剃须刀页面不工作
结束更新
来自MS Docs
对静态文件和Razor视图的更改会自动更新 无需编译步骤
复制步骤:
如图所示,该文件未在浏览器中反映出更新(我用curl检查-没有缓存的内容)
如果您进入正在运行的容器:
docker exec -it nameofcontainer /bin/bash
然后直接在卷挂载的/ app目录中更改文件,它确实起作用。
使用Windows容器,一切正常。
我尝试了2种不同的基本图像,以查看是否有帮助:
FROM microsoft/dotnet:2.1.2-aspnetcore-runtime AS base (default 255MB)
FROM microsoft/dotnet:2.1.2-aspnetcore-runtime-alpine3.7 AS base (164MB)
FROM microsoft/dotnet:2.1.2-aspnetcore-runtime-bionic AS base (281MB)
这没什么区别。
已在均为Windows 10的3台不同计算机上进行了检查。Docker版本为Community 18.03.1-ce-win65(17513)。这是稳定的Docker频道。
我假设这与DOTNET_USE_POLLING_FILE_WATCHER = 1和卷安装的文件系统有关。 Potential fix
以相同的行为尝试使用VS2017 preview。