|   | 
 
|  
 .NET TIPS 
WindowsアプリケーションでSystem.Webアセンブリを参照するには?[VS 2010以降]
デジタルアドバンテージ 遠藤 孝信 
2010/06/10 | 
  | 
 
 
 
 | 
 「TIPS:WindowsアプリケーションでHTMLデコード/エンコードを行うには?」では、HTMLテキストの処理方法として、新しいWebUtilityクラス(System.Net名前空間)を紹介しており、.NET Framework 4環境向けのWindowsアプリケーションであれば、もはやHttpUtilityクラス(System.Web名前空間)を利用する必要はない。しかし、過去のコードの活用といった理由で、依然ASP.NET用のHttpUtilityクラスなどをVisual Studio 2010で使いたい場合もあるだろう。
 そのような場合、System.Web名前空間のクラスをWindowsアプリケーションのプロジェクトで利用するには、参照設定に「System.Web」が含まれている必要がある。もし含まれていないなら、ソリューション・エクスプローラ内の「参照設定」を右クリックし、メニューから[参照設定]を選択すると開く[参照の追加]ダイアログの[.NET]タブで設定可能だ。
  
 | 
| Visual Studio 2010の[参照の追加]ダイアログ | 
 | 
 しかし、Visual Studio 2010のWindowsアプリケーション・プロジェクトの場合、既定では[参照の追加]ダイアログの一覧に「System.Web」が含まれていない(Visual Studio 2008までは含まれていた)。これは、プロジェクト既定の「対象のフレームワーク」が「.NET Framework 4 Client Profile」となっているためだ([参照の追加]ダイアログの一覧は、この設定によりフィルタリングされる)。
 「対象のフレームワーク」の設定を確認/変更するには、ソリューション・エクスプローラでプロジェクト名を右クリックし、メニューから[プロパティ]を選択する。これにより、次のようなプロジェクトのプロパティが開く。
  
 | 
| プロジェクトのプロパティ | 
| 既定では[対象のフレームワーク]が「.NET Framework 4 Client Profile」となっている。 | 
 「.NET Framework 4 Client Profile」とは、デスクトップ・アプリケーションに最低限必要なコンポーネントのみで構成された.NET Frameworkのサブセットである。System.Webアセンブリはこれには含まれていないため、そのクラスを使いたい場合には、[対象のフレームワーク]で「.NET Framework 4」を選択すればよい。
  
 | 
| プロジェクトのプロパティ | 
| WindowsアプリケーションのプロジェクトでSystem.Webアセンブリを使いたい場合には、[対象のフレームワーク]で「.NET Framework 4」を選択する。 | 
 このように設定して、再度[参照の追加]ダイアログを開けば、「System.Web」が選択可能になっているはずだ。
  
 | 
| 「System.Web」が追加されている[参照の追加]ダイアログ | 
 | 
 なお、.NET Framework Client Profileについての詳細は、MSDNの「.NET Framework Client Profile」を参照してほしい。
 
|  
 | 
 
generated by  
 | 
 
 
 | 
 
 
	
		Insider.NET 記事ランキング
		
		
			本日
			月間