This is just a theory, so not sure if it's related, but here is goes: in the Umbraco 15 dotnet template, Umbraco is explicitly set to the correct runtime mode (development/production). In contrast to BackendDevelopment runtime mode (which was the default in 13), razor views are precompiled. Maybe that's why you need to build before changes to templates (which are ofcourse razor files) work. I would expect that you simply wouldn't see the changes instead of an error, but it's the only thing I could think of for now 🙂