2

おそらくここでの問題は、.NET4のクライアントプロファイルと.NET4の(通常の?)バージョンの違いを完全に理解していないことです...

Visual Studio 2010で新しいプロジェクトを開始すると、デフォルトで.NETFramework4クライアントプロファイルのターゲットフレームワークになります。ときどき、サードパーティのライブラリを使用しているときに、プロジェクトが.NET Framework 4クライアントプロファイル用にセットアップされていると、コンパイルエラーが発生します。.NETFramework4に切り替えると、問題が修正されます。

私はいつもこれに対処してきましたが、今日、私は質問をして、どちらを使用するか、そしてなぜフレームワークの2つのバージョンがあるのか​​を理解することにしました。

編集: .NET 4をターゲットにしている場合、通常のデスクトップユーザーがWindows Updateを介してそのフレームワークを取得しないことを心配する必要がありますか?

4

1 に答える 1

4

編集について:こちらをご覧ください:.Net Framework4FullおよびNetFramework4クライアントプロファイルターゲティング

Scott Hanselmanによるこの投稿は、クライアントプロファイルに含まれるものと含まれないものを示しています。

より小さな.NETに向けて4-クライアントプロファイルと.NETのダウンロードの詳細

  • フルであるすべてのOSでサポートされています
  • x86およびx64でサポート
  • クライアントプロファイルはデスクトップ用のWindowsUpdateで利用できるフレームワークです。
  • VSのすべての側面でサポートされています(たとえば、ターゲティング、展開プロジェクトなど)
  • ほとんどすべてのVS10クライアントプロジェクトテンプレート(Winforms、WPF、VSTOなど)のデフォルトのターゲットです

これは面白い部分です:

一般的な考え方は、クライアントマシンに不要なものをインストールすることを避けるというものです。つまり、母親がゲームを望んでいるという理由だけで、母親のコンピューターにASP.NETをインストールすることはありません。また、.NET 4クライアントプロファイルは、.NET4「フル」フレームワークの適切なサブセットです。

より詳細な投稿は次のとおりです。.NETFramework4クライアントプロファイルRTMの新機能

NET4クライアントプロファイルを使用する場合とNET4フルフレームワークを使用する場合
NET4クライアントプロファイル:
すべてのクライアントデスクトップアプリケーション(WindowsフォームおよびWPFアプリを含む)のNET4クライアントプロファイルを常にターゲットにします。

NET4フルフレームワーク:
アプリに必要な機能またはアセンブリがクライアントプロファイルに含まれていない場合にのみ、NET4フルをターゲットにします。これも:

  • サーバーアプリを構築している場合。例: oASP.Net
    アプリ
    oサーバー側のASMXベースのWebサービス
  • レガシークライアントシナリオを使用する場合。例:
    o NET4で非推奨であり、クライアントプロファイルに含まれていないSystem.Data.OracleClient.dllを使用します。
    o従来のWindowsWorkflowFoundation 3.0または3.5(WF3.0、WF3.5)を使用する
  • 開発者のシナリオを対象としていて、MSBuildなどのツールが必要な場合、またはSystem.Design.dllなどのデザインアセンブリにアクセスする必要がある場合

言及する価値がある.NET 4.5のは、最初はもうありませんClient Profile。廃止されました:http://msdn.microsoft.com/en-us/library/cc656912.aspx(リンクはCodi​​ngWithSpikeによって提供されます)

于 2012-09-06T15:10:02.837 に答える