This post originated from an RSS feed registered with .NET Buzz
by Duncan Mackenzie.
Original Post: Duncan's VS.NET 2003 wouldn't run... and why that is good for you :)
Feed Title: Code/Tea/Etc...
Feed URL: /msdnerror.htm?aspxerrorpath=/duncanma/rss.aspx
Feed Description: Duncan is the Visual Basic Content Strategist at MSDN, the editor of the Visual Basic Developer Center (http://msdn.microsoft.com/vbasic), and the author of the "Coding 4 Fun" column on MSDN (http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx). While typically Visual Basic focused, his blogs sometimes wanders off of the technical path and into various musing of his troubled mind.
Something must have changed, but I had no idea what it was... but suddenly, existing applications (the same version of which run fine on other machines) were crashing with IO errors, specifically "System.IO.IOException: The device is not ready.".
At the same time, I could no longer open VB projects in VS.NET, or create new VB or C# project ("path not found" for the C# projects, "Project 'project name' could not be opened because the Microsoft Visual Basic .NET compiler could not be created. Please re-install Visual Studio." for my existing VB projects)
I didn't try reinstalling because I really wanted to know what was actually going wrong 'behind-the-scences', and here is where you benefit... I found out what was causing it, so if it happens to you, you'll know too :)
I had a small flash of insight... everything that was failing relies upon xml serialization, which uses temp files ... so I dug around and found that my TEMP and TMP environment variables were pointing to a secondary hard drive which was no longer there. (I popped it out to put in my CD drive.... can't run Halo without it)
So... no temp folder and you get a whole bunch of errors trying to open config file, and VS.NET fails (with a "please reinstall" error). Problem solved, although I had no luck finding any docs on this issue...