You do not need Visual Studio to program .NET. The SKD provides the underlying framework. You technically only need a text editor and some knowledge of the SDK. Howver, VS makes it MUCH easier to develop .NET apps than the raw SDK. There is an open source tool called SharpDevelop that provides a very nice IDE for developing C# apps. You can find it at the following link
http://www.icsharpcode.net/OpenSource/SD/