Frameworkは次のような目標に基づいて設計されている。.NETアプリケーションや.NETクラスライブラリではないプログラムとの相互運用を可能にするためのアクセス方法を提供する。COMコンポーネントへのアクセスはSystem.Runtime.InteropServicesやSystem.EnterpriseServicesなどの名前空間によって提供され、それ以外の機能はP/Invokeによって提供される。Frameworkにおいてはあらゆる言語で記述されたプログラムが共通中間言語と呼ばれる中間言語にコンパイルされる。マイクロソフトの実装では、この中間言語はJITコンパイラによって実行時にネイティブコードにコンパイルされる。これらの概念は共通言語基盤の仕様に含まれており、マイクロソフトによる共通中間言語の実装を共通言語ランタイムと呼ぶ。Frameworkは共通型システムと呼ばれる概念を導入した。共通型システムの仕様には共通言語ランタイムでサポートされるデータ型について定義されている。このため、複数の言語を用いた開発が可能になる。Frameworkで利用可能なクラスライブラリである。BCLはファイル入出力、グラフィックス、データベース、XML文書処理など、多くの共通機能をカプセル化したクラス群を提供する。��配置ソフトウェアをコンピュータにインストールする際、既にインストールされているソフトウェアとの相互干渉やセキュリティといった問題に注意しなければならない。Frameworkはこういった要求に応えるための機能やツールを提供する。Frameworkではサンドボックスの概念を用いることなく、様々な権限レベルでコードを実行することができる。