<p>The Microsoft unit testing framework has suddenly gone on strike.</p>

<p>When I try to run tests in VS2008, I get a dialog with the message "VSTestHost.exe has stopped working".</p>

<p>I have Visual Studio Team System 2008 (version 9.0.30729.1 SP) running on Vista with all updates applied. </p>

<p>The "Problem reports and solutions" suggests that I "Upgrade to the latest retail version of Visual Studio Team Edition for Software Testers" which is not right.</p>

<p>I have tried rebooting. <br>
I have tried "devenv /resetuserdata" </p>

<p>These made no difference.</p>

<p>I'd like to go back to <a href="http://www.mbunit.com/" rel="noreferrer">MbUnit</a> based on this nonsense, but that's not my choice. <br>
Any suggestions on how to fix this?</p>

I have found the issue that I was asking about, and it was my fault. I had coded a stack overflow: I refactored some code into an extension method, renamed it to match the Linq extension method that it called, and so  it just called it self recursively.
The lessons to learn from this:
1:
"select" isn't broken
. 
I was too quick to blame the framework, due to its bad reputation.
2:
But it did have a pathologically general and entirely misleading error message.
In cases where the error message is that bad, a good debugging technique is to try to pin down what does and what doesn't cause the error. In my case, the breakthrough came as soon as I noticed that it wasn't "the test run" that was failing, it was only runs containing Sql database tests - domain object and mock repository test could run just fine, so there had to be something about the code that it was running. And that the debugger would step into the tests. I had assumed from the calamitous errors that it wasn't even getting that far.