There are many reports of Windows Explorer stopping, and there are many causes for it. Here's one that has not been described in previous reports. I will describe a solution that works, at least until you reinstall VS2010.
The VS2010 install registers a large number of file extensions with their associated file types and default icons. One of these extensions is .config, which is used for XML configuration files like app.config. The default icon for it is
registered at HKCR\VisualStudio.config.10.0\DefaultIcon as (on my machine) C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Xml\1033\Microsoft.XmlEditorUI.dll,-105. This looks okay when you inspect it with RegEdit, but it contains an invisible
error. The VS2010 install program sets this text using the wrong character encoding. Whenever Explorer shows this file, it tries to retrieve the icon from the above location, which results in an internal error in Explorer.
The fix is to rewrite the text in the (Default) entry for HKCR\VisualStudio.config.10.0\DefaultIcon using the correct character encoding. You can do that by changing the text with RegEdit's text editor and writing it back (moving to a new key).
Then, visit HKCR\VisualStudio.config.10.0\DefaultIcon again, and change the text back to its original value. RegEdit's text editor will write the text using the correct character encoding.
You must refresh the Explorer icon cache by rebooting before the change takes effect. After performing this maneuver, you should see a page-with-a-little-world icon displayed next to *.config files, and the "Windows Explorer has stopped"
incidents should cease, at least those from this cause.