Although I was more-or-less lambasted for my post about free vs. open source software, I want to follow-up with a comment or two about .NET development. There is a common misconception that developing for Windows using .NET is an expensive endeavor. For the record, .NET development is free.
.NET Framework SDK
The .NET framework itself (a.k.a. runtime) is completely free. In fact, if you don't have it, go and download it right now. Check out "Get the Framework" on the right.
http://msdn.microsoft.com/en-us/netframework/default.aspx
The Software Development Kit (SDK) is also free. The SDK contains the framework (of course) as well as all the utilities you need to build .NET applications. This includes compilers, registration tools, and other utilities that are useful and necessary for .NET development.
All you really need is Notepad and a command-line. However, there are a number of freely available Notepad-esque utilies such as Notepad++ and VI ( :D ).
Development Environments
If you are partial to an integrated development environment (IDE) Visual Studio is free too. Yeah, I know, hard to believe but it's true. Visual Studio is free. Don't believe me? Check it out. http://msdn.microsoft.com/en-us/netframework/default.aspx
Need a relational database management system? That's free too. SQL Server Express Edition as well as SQL Management Studio Express are free. They are both available from the link above.
Systems & Productivity Tools
Okay, you Linux guys win here. Windows is not free...usually. There are times when you can get it for free. I do, however, want to point out that if you buy a stock machine it usually comes with Windows. You don't need IIS because Visual Studio can use the File System for Web application development. However, in general, you need to buy the Operating System.
That being said, Microsoft is known to give away operating systems and productivity tools (such as Windows Server 2008 and Microsoft Office 2007). All you have to do is attend a launch event. I'm not joking. I use a fully functional completely legal licensed copy of Microsoft Office 2007 Professional that I received for attending a conference.
The bottom line is that .NET development is free (but not open source). "But Brian, what about the restrictions associated with the Express Editions?" Well, you don't need Visual Studio at all to do .NET development. You can use the command-line. Some would argue that this is the best way to learn anyway.