Question: Planning to rewrite a complex, UI-heavy app so that its model is as cross-platform as reasonably possible. The research / reading I've done makes sense conceptually, but in terms of the model sending messages to the controller in some sort of cross-platform approach, I'm not seeing what a best practices approach would entail.

For example, the Model is changed via the Controller making calls to the Model's API. But the Model is then responsible for informing clients of its data that a change has taken place, so it needs to broadcast that back to the Controller -- which needs to inform the View(s).

But messaging approaches are going to be different for a controller written in C# or Objective-C++, right? Would one use signal to connect to the Controller, which would use platform-specific message communication with the View(s)?

Is there a standard, lightweight template that sets up these best practices for the platform-independent model operations?

Answer: 
This can also be caused by a race condition while deploying:

If you use Visual Studio's "Publish" to deploy over a network file share, and check "Delete all existing files prior to publish." (I do this sometimes to ensure that we're not unknowingly still depending on files that have been removed from the project but are still hanging out on the server.)

If someone hits the site before all the required JS/CSS files are re-deployed, it will start `Application_Start` and `RegisterBundles` which will fail to properly construct the bundles and throw this exception.

But by the time you get this exception and go check the server, all the necessary files are right where they should be!

However, the application happily continues to serve the site, generating 404's for any bundle request, along with the unstyled/unfunctional pages that result from this, and never tries to rebuild the bundles even after the necessary JS/CSS files are now available.

A re-deploy using "Replace matching files with local copies" will trigger the app to restart and properly register the bundles this time.
I had this issue when I opened a VS2017 project in VS2015, built the solution and then uploaded the DLLs.

Rebuilding it in VS2017 and re-uploading the DLLs fixed the issue.