"DaveP" <Da***@discussions.microsoft.com> wrote in message
news:06**********************************@microsof t.com...
In Visual Basic 6.0, there was a setting for DLL's that would prevent a
developer from breaking binary compatibility of a DLL by changing a
function name, parameters, etc. Warnings would appear at compile time.
Is there any such thing in .NET?
Guess what? There isn't!
(At least not that I've found, after a /lot/ of digging).
VB.Net will compile just whatever you tell it to, and doesn't give a
d*** that you might have just redefined every single method!
Interfaces go /some/ way to protecting against this; you publish (and
fix) the Interface; other Developers implement them. The down side
is that if you actually need to /change/ the Interface, you either have
to get into Assembly Versioning, or you have to rebuild absolutely
*everything* that implements the Interface against the new one.
The only other way /I've/ found to do this is to write "exerciser" classes
for each "main" class; these access every property, method, constructor,
etc. in the "main" class. If you [accidentally] change a method, this class
no longer compiles. It's not pretty and /far/ from error-free, but it's the
"best" I've come up with thus far.
Someone; *please* tell me this feature is coming back in VS'2005... :-)
HTH,
Phill W.