2011年3月10日 星期四

Download Visual Studio 2010 SP1 及 Feature Packs 最新發佈訊息

立即下載Visual Studio 2010 Service Pack 1 (目前僅供MSDN 訂閱者下載,3/10將公開下載)

SP 1 已提供MSDN 訂閱者下載 (包括 VS 2010 各版本、TFS 2010、Team Explorer Everywhere 2010),公開下載將於 3/10上線。 主要加強功能如下:

  • Help Viewer – 這個讚! 新的可安裝於本機應用程式,支援Keyword 檢索及TOC (table of contents) 可展開
  • IDE、測試及偵錯的改善
    • 智慧偵錯 - IntelliTrace 支援按F5快速鍵 for 64-bit 應用程式支援及 SharePoint 專案支援 (這個讚! 快試試IntelliTrace,節省偵錯時間)
    • Unit Testing 也支援 .NET 3.5
    • Performance Wizard for Silverlight (Silverlight 效能精靈, Silverlight 專案已內建在 Wizard中)
  • 開發技術及平台支援
    •  Silverlight 4 Tools for Visual Studio 2010 內建
    • Windows 7-specific Microsoft Foundation Class (MFC) APIs 支援使用 Direct2D, DirectWrite, 及 Windows Animation 技術
    • VB Compiler runtime switch - This switch will enable Visual Basic developers to target their applications and libraries at platforms where the full Visual Basic Runtime hasn’t traditionally been available

Visual Studio 2010 Feature Packs (擴充 Visual Studio 2010的功能,僅提供 MSDN 訂閱者下載)提供給MSDN訂閱者額外權益,包括兩個最新 Feature Pack以加強 VS 2010功能,包括:

  •   Visual Studio 2010 Load Test Feature Pack – 這個讚! 只要購買 VS 2010 Ultimate with MSDN的使用者,皆可免費下載取得「模擬無限人數的壓力測試」(之前需額外購買 Load Test Virtual User Pack; 而許多銀行/公部門/大型網站業者以往也需花費鉅額購買“HP/Mercury Load Runner”,現在 VS 2010 Ultimate with MSDN 讓你用低成本也能執行大型的壓力測試,不論Web應用程式是以何種開發技術或語言所建置亦都支援)
  •  Team Foundation Server Project Server Integration Feature Pack – TFS & Project Server的整合,以往需透過 Codeplex的3rd party元件達到此需求,現在由微軟釋出此套件,讓TFS & Project Server的工作項目能同步

2010年11月11日 星期四

ASP.NET 4.0 Multi Language Design : 即時切換網頁語系的多國語言設計(2)

假設網站中所要執行多國語言的網頁,有套用「主版頁面」的話,打開網站中的Default.aspx,將設計視窗中的文字敘述[歡迎使用 ASP.NET!],改為使用Label控制項取代,並將原本的文字敘述刪除。

<asp:Label ID="LabelMessage" runat="server"  Text="<%$ Resources:MessageResource, Welcome %>" />

clip_image002

接著在網站中預設的Default.aspx中來設計可以讓使用者自行挑選的多國語言網頁設計,其設計步驟如下:

Step 1: 在Default.aspx中加入DropDownList控制項:

<asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="True" ClientIDMode="Static">

<asp:ListItem Value="zh-TW">中文</asp:ListItem>

<asp:ListItem Value="en-US">英文</asp:ListItem>

<asp:ListItem Value="ja-JP">日文</asp:ListItem>

</asp:DropDownList>

Step 2: 開啟Default.aspx.vb,改寫InitializeCulture方法,將DropDownList控制項所挑選的值,設定給Page物件的UICulture屬性。

Step 3: 但是因為DropDownList控制項是位在主版頁面的網頁中,因此其所產生之HTML控制項的名稱將會有所異動,那麼就必須要修改Request.Form所要接收的控制項名稱。程式碼如下:

Partial Class _Default

Inherits System.Web.UI.Page

  Protected Overrides Sub InitializeCulture()

    If Request.Form("ctl00$MainContent$ddlLanguage") IsNot Nothing Then

    Dim selectedLanguage As String = _

    Request.Form("ctl00$MainContent$ddlLanguage")

    Page.UICulture = selectedLanguage

  End If

End Sub

End Class

Step 4: 瀏覽Default.aspx,並挑選不同的語系,檢視網頁的執行結果。

clip_image004

Step 5: 當挑選為英文時:

clip_image006

Step 6: 當挑選為日文時:

clip_image008

Step 7: 最後,若是ddlLanguage 這個DropDownList控制項是放置在主版頁面Site.master中的話,那麼在主版頁面中改寫InitializeCulture 方法,其Request.Form所接收的參數值,就可以直接使用ddlLanguage這個ID了。

<script runat="server">

Protected Overrides Sub InitializeCulture()

If Request.Form("ddlLanguage") IsNot Nothing Then

    Page.UICulture = Request.Form("ddlLanguage")

End If

End Sub

</script>

2010年11月10日 星期三

ASP.NET 4.0 Multi Language Design : 即時切換網頁語系的多國語言設計(1)

在設計多國語言的網站時,為了提供更多的彈性讓使用者可以及時切換網頁的語系,在ASP.NET的設計上就必須要考量網頁Page物件以及網頁中控制項之間生命週期以及順序的關係。

舉個例子來說,你要設計一個下拉式選單控制項讓使用者可以挑選後,根據所挑選的資料來改變網頁的語系以及內容,如果挑選英文,那麼網頁的內容要變成英文;如果挑選日文,那麼網頁的內容要變成日文。

問題在於網頁要呈現不同的語言內容必須要在網頁生成之前就要覺得此網頁的語系為何,並決定該怎麼呈現網頁內容。但是控制項的生成卻是在網頁Page生成之後才會Render出來,因此在這邊就必須要使用一個特殊的技巧,那就是改寫Page物件的初始化語系方法:InitializeCulture。

在InitializeCulture中使用Request物件去接收表單所送過來的資料,以判斷該使用那一個語系來設定網頁的語系和呈現方式。下列亞當斯撰寫一個完整的範例讓各位參考,設計步驟如下:

Step 1: 使用Visual Studio 2010建立一個ASP.NET 4.0 網站,命名為:DemoLanguageWebSite。

Step 2: 點選方案總管中的DemoLanguageWebSite,按滑鼠右鍵,選擇「加入新項目」,並挑選「資源檔」,名稱命名為:MessageResource.resx,按下新增。

clip_image002

Step 3: 因為資源檔在網站中是屬於特殊類型檔案,所以預設開發工具會建議將資源檔放在App_GlobalResources資料夾中,當彈跳出以下視窗時,請按下「是」。

clip_image004

Step 4: 在MessageResource.resx檔的編輯視窗中,加入一行資料,名稱是「Welcome」,值為「歡迎使用 ASP.NET!」。

clip_image006

Step 5: 接著複製MessageResource.resx,並在網站的App_GlobalResources資料夾中貼上,修改名稱為:MessageResource.en-US.resx,並且修改資料中Welcome所對應的值為「Welcome to use ASP.NET!」。

clip_image008

Step 6: 同樣的在複製一份MessageResource.resx,並修改名稱為MessageResource.ja-JP.resx,並且修改資料中Welcome所對應的值為「ASP.NETご利用くださいまして、ありがとうございます」。

clip_image010

Step 7: 檢視方案總管中的網站,可以看到目前有三個資源檔位於App_GlobalResources資料夾中,如下圖所示:

clip_image012

Step 8: 新增一個DemoMultiLanguage.aspx網頁到網站中。

Step 9: 拖拉一個Label控制項到DemoMultiLanguage中,命名為LabelMessage,並設定DemoMultiLanguage.aspx中LabelMessage控制項套用至App_GlobalResources中的Resource檔內容。點選LabelMessage控制項,切換到屬性視窗並按下Expressions。

clip_image014

Step 10: 開啟運算式視窗,運算式型別請選擇「Resources」、運算式屬性中的ClassKey設定為「MessageResource」、運算式屬性中的「ResourceKey」設定為「Welcome」,設定完成之後按下確定。

clip_image016

Step 11: 切換DemoMultiLanguage.aspx到原始檔視窗中,可以檢視Label控制項套用Resource檔後的屬性為:

<asp:Label ID="LabelMessage" runat="server"  Text="<%$ Resources:MessageResource, Welcome %>" />

Step 12: 從工具箱中拖拉一個DropDownList控制項到DemoMultiLanguage.aspx中,並設定以下資料:

<asp:DropDownList ID="ddlLanguage" runat="server"  AutoPostBack="True"  ClientIDMode="Static">

<asp:ListItem Value="zh-TW">中文</asp:ListItem>

<asp:ListItem Value="en-US">英文</asp:ListItem>

<asp:ListItem Value="ja-JP">日文</asp:ListItem>

</asp:DropDownList>

Step 13: 在網頁中改寫InitializeCulture方法,將DropDownList控制項所挑選的值,設定給Page物件的UICulture屬性,以便改變網頁所要呈現的不同語言結果,程式碼如下所式:

<script runat="server">

Protected Overrides Sub InitializeCulture()

If Request.Form("ddlLanguage") IsNot Nothing Then

  Page.UICulture = Request.Form("ddlLanguage")

End If

End Sub

</script>

Step 14: 設計完成之後,瀏覽DemoMultiLanguage.aspx,並挑選不同的語系,檢視網頁的執行結果,可以看到當使用者挑選不同語系時,網頁就會切換不同語言的內容。

clip_image018

Step 15: 當挑選英文時:

clip_image020

Step 16: 當挑選日文時:

clip_image022

2010年7月2日 星期五

當選2010年第三季MVP

今天早上收到當選MVP的MAIL,不知道為什麼這次的感覺,是蠻爽的!

可能最近微軟的產品正處於一個新世代的更換,因此連帶著亞當斯在寫書或是開發或是教學的時候,都必須同時具備好幾個不同的執行環境。又是ASP.NET 4.0、又是Visual Studio 2010、又是SharePoint 2010…等等…頭都暈了~

所以很明顯,這一陣子一直狂下載MSDN上的SOURCE,安裝-->執行-->測試-->在安裝…一直都在做這些動作!!而當選MVP的最大好處就是,有一年免費的MSDN訂閱,說老實話,這對亞當斯來說真的是非常之實用,尤其是在這個非常時期。序號不求人,這種feel是很nice的!

以下是MVP MAIL中的訊息,讚,以後要多跟其他MVP交流一下~

親愛的微軟「最有價值專家」(MVP),您好︰
2010年第三季MVP已於7月1日正式公告,以下是當選名單:歡迎各位MVP與微軟技術社群暨最有價值專家部門一同歡迎新成員的加入~
由於有些MVP希望低調,因此,請各位MVP不要公布當選名單於您的部落格或是社群中,感謝~

當選名單
趙敏翔、xxx...

同時,微微軟技術社群暨最有價值專家部門期望每一位MVP能持續發揮熱心助人的微軟「最有價值專家」(MVP)精神─持續積極參與微軟技術論壇、主動且正確地回答他人技術問題。

2010年5月24日 星期一

由於無法啟動使用者執行個體的處理而無法產生SQL Server 的使用者執行個體。此連接將會關閉

這幾天因為某些需求,必須安裝SQL Server 2005 的其他服務,帥小宇說我的NB開發環境太亂了,好吧!我乾脆狠心把SQL Server 重灌,結果重新安裝好SQL Server 2005 Express後,想要使用VS2008或是VS2010加入SQL項目,就產生了如標題的錯誤:由於無法啟動使用者執行個體的處理而無法產生SQL Server 的使用者執行個體。此連接將會關閉。

以前根本沒遇到過這個問題,後來猜想有可能當初安裝SQL Server 2005 Express是跟隨著VS.NET 2005 安裝的,因此有一些設定都直接套用好了,現在我的NB上有VS2005,2008,2010…當重新安裝SQL Server 2005 Express有一些地方沒有對應好,好在google了一下,這問題存在已久,也有很多的解決方式:

最簡單的方式就是 :

1.將服務中的SQL Server 2005 Express的登入身分改為:Local System

image

image

2.將 C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS 這個資料夾刪除(我的NB環境是Vista…嗚很想換成W7)

當重新開啟Visual Studio建立資料庫的時候,就會自動產生一個新的SQLEXPRESS 資料夾了。而Visual Studio也就可以正常建立SQLEXPRESS 的資料庫了。