Die bisherige Entwicklungsarchitektur von Microsoft heißt Windows Distributed Internetwork Application (DNA) . Diese empfiehlt eine Schichtenarchitektur mit Middleware und Komponenten. Die Vorteile von .NET gegenüber DNA liegen unter anderem in der Vereinheitlichung der bisherigen Programmiermodelle. So musste man sich vor .NET für ein Programmiermodell entscheiden und mit dessen Einschränkungen und Nachteilen leben.
Das Schema zeigt, wie .Net Windows-Programmiermodelle vereinheitlicht (Quelle: Microsoft).