DevTeach 2009 Vancouver

The schedule for DevTeach 2009 Vancouver has been announced (  There’s lots of great software development sessions from some of the leaders in our industry. If you’re planning on improving yourself, this is the conference to go to.  Not only can you attend excellent sessions; but you can hob-knob with the presenters and pick their brains. If you have a friend or co-worker who’s interested, there’s a limited-time two-for-one offer for an even better price:

Bugs Are Features Too

It’s surprising how many bugs on Microsoft Connect are closed as Won’t Fix with a reason that fixing the bug would be a breaking change. The logic is that someone could be dependant on the errant behaviour and thus changing it would cause their code to break. Here’s some samples. TypeConverter.IsValid(Object).  This method is described as “Returns whether the given value is valid for this type”.  But, this results in true:             TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(int));             Console.WriteLine(typeConverter.IsValid(“ten”)); Based on the description of IsValid that this is what was intended:              Debug.Assert(false == typeConverter.IsValid(“ten”), … Continue reading Bugs Are Features Too

Drag and drop of control selections onto forms designer toolbox

A while back I blogged about the ability we have in Visual Studio to select text in a text editor and drag it onto the toolbox.  Once on the toolbox you could drag those items back into the text editor to effectively “paste” frequently needed snippets of code into other text files. Imagine my surprise when we didn’t have this ability in the forms designer.  When writing code, it’s a bit specious to want to have multiple copies of hard-coded snippets of code (DRY should come to mind).  But, for forms, the only alternative is to create user controls to … Continue reading Drag and drop of control selections onto forms designer toolbox

Trace to output window without adding code.

Want to trace some run-time data to the output window while debugging without changing and recompiling your code?  Use Tracepoints:

No "Add Method Stub" When Passing or Assigning Delegates

I finally noticed the other day the “Add method stub” SmartTag wasn’t appearing for a new method name I type in.  I decided I’d have a closer look… When you’re practicing Test-Driven Development (TDD) you want to write a test for methods before you write the methods.  This means you write a test method that calls several other methods that don’t exist yet.  The Visual Studio IDE, in an effort to promote TDD, recognizes this and when you have your caret over a call to one of these methods a SmartTag shows up and you can select Generate method stub … Continue reading No "Add Method Stub" When Passing or Assigning Delegates

Who’s Referencing Whom?

When developing any sort of application, debugging in inevitable.  Sometimes, part of that debugging means trying to figure out why objects haven’t been collected and therefore figuring out what object is referencing the object that has yet to be collected. There’s many reasons why you’d want to find out what object is referencing, like suspected memory “leaks”. With Visual Studio (and MDbg) you can use a tool called SOS (or Son Of Strike).  This is included in the .NET installation.  To use SOS you first need to enable unmanaged debugging in your project (Project\Properties, Debug tab, check “Enable unmanaged code debugging” in … Continue reading Who’s Referencing Whom?

.NET Framework 2.0 Service Pack 1

I noticed mention of .NET Framework 2.0 Service Pack 1 on a Microsoft site today. The BCL Team’s latest blog entry mentions a fix that will make it into the .NET Framework 2.0 SP 1.  Seems an inevitable release of SP1 for .NET Framework 2.0 is pretty official.

Much needed feedback on Connect feedback.

S. Somasegar recently blogged that Visual Studio 2005 bugs logged via Connect that were fixed in SP1 are now listed. (listed here: Attributing Connect feedback to fixes is a huge step in the right direction.  It allows users to follow their feedback through fruition.  This is wonderful because–at least some–feedback won’t fall into a black hole and give user’s the impression that providing feedback via Connect is pointless.  Let’s face it, logging bugs can be a thankless and frustrating process.  The unlimited potential combinations of hardware and software installations sometimes makes reproducing bugs very difficult.  There’s nothing more frustrating … Continue reading Much needed feedback on Connect feedback.

Visual Studio 2005 Clean doesn’t clean everything

I noticed a while ago that when I clean a project in Visual Studio 2005 that has XML documentation file enabled the XML file isn’t removed.  There’s an issue logged about files that don’t get deleted on Clean on Microsoft Connect Clean does not remove all files from the build directory.  Unfortunately this issue also mentions the vshost files that usually appear in the project build directory for projects that output an EXE.  This has caused this issue to be resolved By Design because of this, with a note that the XML file not being deleted is a bug. I’ve … Continue reading Visual Studio 2005 Clean doesn’t clean everything