Recently, I wrote some NAnt build files for a project. The purpose of this task was to improve our build time and increase overall productivity. Also, I wanted to incorporate unit testing into our development process through NUnit.
Yesterday, a colleague of mine noticed some odd behavior in his application that appeared after referencing the DLLs built using NAnt. Previously, he had been using project references in his solution.
While debugging, I noticed that the TypeDescriptor.GetProperties method was returning a different PropertyDescriptorCollection than what was expected. Upon further investigation, I discovered that this behavior was dependent upon the way in which the DLLs were referenced in the VS.NET project. When the project was compiled using project references, TypeDescriptor.GetProperties returned - what is now believed to be - an unexpected result. When the project was compiled using file references, TypeDescriptor.GetProperties returned - what is now believed to be - the expected result.
Needless to say, my colleagues and I found this behavior rather alarming. Why should VS.NET treat project references and file references differently?
FWIW, this morning I received an e-mail from a colleague who informed me that the problem appears to have been fixed with Everett. I haven't had time to confirm this but I hope he's right.
7:24:02 AM
|