When using route names, for example with Url.RouteUrl, is there any mechanism that checks for the existence of a route during compile-time rather than stumbling across it during run-time?
It seems like changing a route name can be quite scary in a large project.
Absolutely, some smart new routing rules could take over routes you don’t want them to.
I’d, and many others, would recommend unit tests for your routes in both directions. That is, verify the correct url will go to the expected action and your url creation gives the urls you want.
For a head start have a look at the mvcontrib test helpers for routes.