Cache busting with ASP.Net MVC

Whenever a webpage have links to pre-compiled frontend files, we as developers can make the web browsers, as well as proxy servers, cache (save) the files for a very long time. But what happens when you make changes to one of those files on the server? How can we do both extremely long caching and invalidate the cache at any time?