Caring for the Community
How often have I seen this sort of thing: "...just open the solution file, hit F5 and you're golden!"? No, I'm not golden. I'm faced with the prospect of spending the next half-hour writing a batch file to build your IDE-dependent source into something I can run, and yet more time weeding out the useful code from your empty-comment-ridden, #region-riddled, design-time supported, drag-and-droppable "solution" so that I can see what the hell you were on about when you said "...as you can see from the code, foo is completely decoupled from bar!". Try decoupling your IDE, pal.'
[Jimski's Blog]
You know, he's right. I have an MSDN Universal subscription through work, hence I use VS.NET Enterprise Architect. (I'm actually using VS.NET 2003 right now, it's sweet! But I digress...) I actually can't imagine doing .NET development without VS.NET.
But it is really unfair to those not using VS.NET (As a lot of ASP.NET developers do) when we expect them to just open the solution and hit F5. I mean just look at the WebMatrix community, I never use in page code because CodeBehind rocks. Yet when I try to give that to a friend with WebMatrix, he can't really do anything worthwhile with the code behind files because WebMatrix doesn't really support them. And when it comes to a Windows Form or class library, anyone using SharpDevelop or another C# IDE/Text Editor can't really deal with the #region stuff or the XML documentation very well...so they have to delete it all before they even attempt to look at the code. I never really realized that non-VS.NET people would get offended by this, but I guess I was wrong. I'll try to be more polite from now on.
As for the batch file building, doesn't NAnt parse .sln or .csproj files for what to build? Maybe I'm mistaken, but I thought that was the point...
Sounds like this would be a great project, a VS.NET addin: The Everybody Else converter. :)
Update: I see from the comments to Jim's post that SharpDevelop does work with Windows Forms, Regions, and XML documentation. I was wrong on that point then.