2012年8月14日 星期二

在 WinForm 使用 HtmlEncode

今天想在 VS2010  WinForm 的專案下,使用 HtmlEncode( ) 方法對使用者輸入的內容進行編碼,上網 Google 了一下,是要使用 :

System.Web.HttpUtility.HtmlEncode(str)
啥!還是不能用,於是再 Google 了一次,原來還要加入參考: System.Web.dll
於是接著進行很簡單的加入參考的動作,但...我的清單裡竟然找不到 System.Web ,不會吧~

後來在「visual studio 2010 winform程序不能添加对system.web的引用」有提到,如果在 WinForm 環境下要加入 System.Web 參考,需先確認開發環境的 Target FrameWork 是否為 .Net FrameWork 4,很不巧的,我打開 Project ->Project Properties->Target framework,發現自己的設定竟然是:.Net Framework 4 Client Profile。於是將他調整到 .Net Framework 4 後,在加入參考的候選清單中,就出現了 System.Web 了。


只是有點好奇,為何 .Net Framework 4 Client Profile 與  .Net Framework 4 會存在著如此不同的差異呢?原來,.Net Framework 的可轉散佈檔目前的檔案大小已經肥到 231 MB(公斤) ,一般來說,工程師所寫的程式,都遠比他小很多很多。所以出現了 Client Profile 的解決方案,也就是所謂的瘦身專案。既然是瘦身,可想而知有些不常用的功能,預設就不會加進來。

可以在「Assemblies in the .NET Framework Client Profile」查閱到瘦身後的 Framework 可參考的  Assemblies。而我所需要的 System.Web,其實並不在裡面。依目前的需求來看,我是沒辦法使用瘦身專案了,只能選擇原先的 .Net Framework 4。不過即使是胖胖的,只要樂觀開朗,也可以過的很開心。至少,你吃下去的幸福,就比別人多了一點,當然享受到的快樂也就比別人多一些!


參考:
01: visual studio 2010 winform程序不能添加对system.web的引用
02: Assemblies in the .NET Framework Client Profile
03: .NET Framework 4 与 .NET Framework 4 Client Profile
04: [VS2010] .NET Framework 4.0 Client Profile

沒有留言:

張貼留言