I remember the errors I used to get while writing VB6 COM (which I thought at one time was the coolest technology in the world--that and rolling back a transaction with maybe sending something to MSMQ--who could want anything more???) But the error messages were less than helpful. "Reference object null" or some lame message to that affect was one I saw a lot.
Today I was reminded what a change VS.NET has made in describing compile and runtime errors. I was compiling a web app which was referencing a couple of other class projects and received this:
c:\Documents and Settings\whoever\My Documents\Visual Studio Projects\proj\proj.Data\bin\Debug\proj.Utils.dll Referenced class 'proj.Utils.Cache' has base class or interface 'System.Web.UI.Page' defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web'.
Sweeeet! I knew how to fix that! And it sure beat the heck out of "Reference object null."