Learning .NET Programming

Ranked #78,821 in Computers & Electronics, #1,210,148 overall

Your guide to .NET programming

Here you find the most useful resources for programming with .NET, Microsoft's vast framework for software development. Whether you want to develop games, websites or business applications, the .NET framework provides the tools to do this efficiently.

If you're a beginning programmer, start reading this text from the top. If you already have experience, scroll down to the specific .NET technology you want to learn about.

This is a work in progress, so if you think something's important is missing - or if you would like to see your favorite .NET blog, forum, tutorial or other resource included, let me know!

Getting The Tools

The only practical way to do serious .NET development is to install one of the Integrated Development Environments (IDEs) available:

  • Visual Studio Express Editions: The free version of Microsoft's own IDE. Will do easily for learning and even for one-man commercial development.

  • SharpDevelop: The open-source .NET development environment. Use if you dislike proprietary software, if you use a non-Windows machine for development or if your programs need to run on non-Windows platforms.

  • If you're serious about making a living as a Windows application developer, you might want to pick up one of the commercial editions of Visual Studio.

Recommended Lenses for Starters

These two lenses don't involve much programming yet, but they get you started with the Visual Studio Express Editions:

Creating Your First C# Program
Build your own Browser

Learning a Language

You can use dozens of languages to create .NET applications. (See the exhaustive list on Wikipedia.)
However, the vast majority of .NET programs are created in C# or - to a lesser extent - Visual Basic.

Free Tutorials
C# Tutorial on C# Station
Concise introduction covering the main concepts
C# Tutorials on MSDN
Each tutorial covers a C# concept, ranging from simple to advanced
C# Tutorial for Java programmers
Overview of C# for programmers with experience in Java or another similar language
C# Language Specification
If you want to be really thorough, read this: the official complete C# specification. Also recommended for insomniacs
VB.NET tutorial by example
Not a regular tutorial, but an impressive collection of VB.NET examples ordered by theme
Visual Basic Language Specification
The whole truth and nothing but

C# books

Loading

Visual Basic Books

Loading

ASP.NET

By far the most popular type of programming nowadays is web programming. The .NET technology that lets you design powerful dynamic web pages and sites is ASP.NET.

Starting points
Microsoft's ASP.NET site
A short tutorial on creating your first ASP.NET page
w3school's ASP.NET tutorial

Forums
Microsoft's ASP.NET forum
ASP.NET forum at DaniWeb
ASP Free forum
Stack Overflow

Recommended Lenses
ASP.NET Tutorials
ASP.NET Tools and Projects
ASP.NET Development Resources

ASP.NET books

Loading

ADO.NET

ADO.NET is the collective name for the .NET libraries that let you access (structured) data, like databases or XML data.

Getting started
ADO.NET on MSDN
ADO.NET Tutorial on C# Station
A Basic ADO.NET Tutorial in Visual Basic.NET

Forums
ADO.NET & Database Forum on C# Corner
ADO.NET forum on CodeGuru
Stack Overflow

ADO.NET Books

Loading

WPF

WPF or Windows Presentation Foundation was introduced in the 3.0 version of the .NET Framework. It's a set of new graphical libraries to build Windows interfaces and as such is a successor to both Windows Forms and GDI+ based graphics classes.

A subset of WPF, Microsoft Silverlight, can be used to develop rich internet applications and is seen as Microsoft's answer to Adobe Flash.

Recommended Lenses
Microsoft Silverlight (I)
Microsoft Silverlight (II)

WPF Books

Loading

Service Oriented Architecture (SOA)

ASP.NET Web Services and WCF

A service-oriented architecture is one way to let two or more separately developed applications collaborate.

For example, I can develop a web service that gives you the local temperature when you supply it with a latitude and longitude. You can then use that service on your website to display the current temperature where you live.


I like to think of SOA as contract-based programming. The service enter into a contract that stipulates what a request to the service looks like and what the service's answer looks like.

For our temperature service this means that we define how the service is called, passing latitude and longitude, and in which format the service will return the local temperature.


Important to realize here is that everything that is NOT defined in the contract, is left open. Client and service can be implemented in different languages and - since the communication goes via the internet or another network - run on computers in different rooms or even at opposite ends of the world.

.NET offers two technologies to implement services:

1. ASP.NET Web Services
2. Windows Communication Foundation, introduced in .NET 3.0

WCF Books

Loading

WF

WF or Windows Workflow Foundation let's developers define a program declaratively as a workflow.

WF Books

Loading

Other Recommended .NET lenses

Here are some more good lenses about .NET topics that didn't fit directly in the topics above. If you have created a .NET lens that isn't mentioned anywhere in this lens, let me know. If I like it, I'll link to it here.
XAML
All about WPF's markup language XAML
Garbage Collection in DotNet
A clear explanation of garbage collection in .NET
XNA Game Development
How to start developing games with XNA

Reader Feedback

by

sweetnetthings

I'm a thirty something software developer. I love programming and I love sharing the knowledge to get others just as hooked.

Feeling creative? Create a Lens!