I've just released an open source library for MIDI support in C# / .NET. The Google Code page is here:
This is my first foray into C#, .NET, and Windows programming in general. That's right, I've been programming for twenty years, professionally for twelve, and I've never written any software for Windows until now.
I wanted to do some MIDI programming and assumed that Windows would be the best OS for it. Then I figured I might as well learn one of Microsoft's more recent offerings, so I looked into C#. Then I found out that there is no direct support for MIDI in .NET, and so I proceeded to wrap the Win32 bindings. It turned out to be cleaner and better documented than the alternatives I saw, so I figured I should share it with the world.
Not exactly the most efficient way to get some MIDI programming done, but it's been fun.