.NET Framework Client Profile には System.Web が含まれない

ちょっと不思議に思ったのでメモ書き。

Visual Studio 2010 を使うと、.NET Framework 4.0 の Windows アプリケーションが作れます。

で、.NET Framework 4 ってのは、実は2種類あって、

この違いって、なんじゃろ?と思っていたわけですが、Clinet Profile のほうは、無印のほうのサブセットだそうです。

実は、.NET Framework 3.5 の頃からあって、

Microsoft .NET Framework 3.5 Client Profile
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=8cea6cd1-15bc-4664-b27d-8ceba808b28b 

にある、説明文を読むと、

Microsoft .NET Framework 3.5 Client Profile は、.NET Framework クライアント アプリケーションのインストールと配布に必要な機能のサブセットです。Microsoft .NET Framework 3.5 Client Profile に用意されている機能のサブセットは、次のとおりです。

共通言語ランタイム
ClickOnce
Windows フォーム
Windows Presentation Foundation
Windows Communication Foundation

な風に書いてあって、『.NET Framework コンポーネントの迅速なインストール』ってのが可能なんだそうです。

良くわかりませんが、そういうもんなんでしょう。

さて、ここからちょっと不思議な話で、

Visual Studio 2010 でも、この Client Profile ってのを使えます。

20100804_06.jpg

で、問題は、デフォルトが「.NET Framework 4 Client Profile」なんですね。。。

まぁ、軽いアプリケーションが作れるのは良いのですが、デフォルトが「サブセット」というのは、ちょっと難点があります。

サブセットなので、ちと複雑なアプリを作ろうとすると、クラスライブラリが見つからなくて「あれ?」ってな感じになるので。

.NET Framework Client Profile
http://msdn.microsoft.com/ja-jp/library/cc656912.aspx

を見ると、ASP.NETが無いので、System.Web あたりのHttpUtilityクラスを使う場合は、.NET Framework 4 に対象のフレームワークを変える必要があります。

参照設定しようにも、System.Web が見当たらないんだ、これが…

■.NET Framework 4 Clinet Profile の場合

20100804_07.jpg

■.NET Framework 4 の場合

20100804_08.jpg

そんな訳で、つい読みブラウザ(TwiNetReader)でハマったので、メモ。

 

 

 

 

カテゴリー: 開発 パーマリンク