Our asp.net web application allows our (large) .css and .js files to be cached by client browsers for faster performance.

But whenever we deploy a new version, we get phone calls from users about how the page looks messy and is full of javascript errors. It turns out, their browser didn't re-download the changed .css and .js files. Ctrl-F5 always fixes it.

Is there any way to force a re-download after upgrade deployments, without setting it not to cache (and thus slowing our application down)? 

I've found this (manually changing reference to every file every deployment):
[How do I force a given file to expire in the cache?](https://stackoverflow.com/questions/8443441)

and this (same thing but checksum calculation on every page load):
[Needed advice on how to implement js/css versioning](https://stackoverflow.com/questions/12164677)

But surely there are more reasonable solutions than that...?