おそらくここでの問題は、.NET4のクライアントプロファイルと.NET4の(通常の?)バージョンの違いを完全に理解していないことです...
Visual Studio 2010で新しいプロジェクトを開始すると、デフォルトで.NETFramework4クライアントプロファイルのターゲットフレームワークになります。ときどき、サードパーティのライブラリを使用しているときに、プロジェクトが.NET Framework 4クライアントプロファイル用にセットアップされていると、コンパイルエラーが発生します。.NETFramework4に切り替えると、問題が修正されます。
私はいつもこれに対処してきましたが、今日、私は質問をして、どちらを使用するか、そしてなぜフレームワークの2つのバージョンがあるのかを理解することにしました。
編集: .NET 4をターゲットにしている場合、通常のデスクトップユーザーがWindows Updateを介してそのフレームワークを取得しないことを心配する必要がありますか?