.NET Framework 3.5 SP1 原始碼已開放參考檢視

前幾天在 Reference Source Code Center Team Blog 已經公告 .NET Framework 3.5 SP1 的部分原始碼已經掛到 Reference Source Code Center (RSCC) 伺服器了,這代表各位可以在 Visual Studio 2008 中針對這些已開放的組件進行原始碼偵錯,另一方面也可以從 .Net Framework Library 學習到更深的技術細節。

第一波已開放原始碼的組件有如下項目,未來還會針對 WPF 相關的組件也開放原始碼:

  • mscorlib.dll
  • Microsoft.Visualbasic.dll
  • System.dll
  • System.Web.Routing.dll
  • System.Data.dll
  • System.ComponentModel.DataAnnotations.dll
  • system.Drawing.dll
  • System.Web.Abstractions.dll
  • System.Web.dll
  • System.Web.DynamicData.Design.dll
  • System.Web.Extensions.dll
  • System.Web.DynamicData.dll
  • System.Windows.Forms.dll
  • System.Web.Extensions.Design.dll
  • System.Xml.dll

若你要在 Visual Studio 2008 中追蹤 .NET Framework 3.5 SP1 的原始碼,可以從這裡得知如何設定,以下是我設定的心得分享:

1. 首先,你的 Visual Studio 2008 必須先升級至 SP1

2. 開啟選項視窗,選單 Tools / Options

3. 找到 Debugging / General 節點設定,然後對以下兩個設定做出改變:

    * 將 Enable Just My Code (Managed Only) 取消選取

    * 將 Enable source server support 勾選

Microsoft Visual Studio - Tools - Options - Debugging - General

4. 然後再切換到 Debugging / Symbols 設定

先新增 Symbol file locations 到 http://referencesource.microsoft.com/symbols

然後再設定動態下載的 Symbols 資料要存放的位置,你可以設定任何路徑,例如:G:\Symbols

Microsoft Visual Studio - Tools - Options - Debugging - Symbols

5. 最後,會出現一個 Security Alert 問題要不要啟用 Source Server 功能,回答 Yes 即可。

Microsoft Visual Studio - Security Alert

若你要測試有沒有設定成功,可以用以下步驟:

  1. 先在任意專案中設置中斷點(breaking point)
  2. 然後按下 F5 鍵進入偵錯模式,但由於第一次使用會動態下載所有該專案會用到的組件 Symbol 檔(包括原始檔),所以時間會花比較長,我大約下載了 30 分鐘吧,請各位耐心等待!
  3. 之後就可以用單步執行(F10 / F11)進行原始碼查,但第一次用的時候會先看到 End User License Agreement (EULA) ,按下 Accept 即可。

    End User License Agreement (EULA) 

相關連結

  

此文章由 will 發表於 2008/8/31 上午 12:00:04

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: .Net | C# | Visual Studio

標籤:

收藏:

介紹好用工具:HWiNFO32 ( 查詢主機硬體資訊 )

當我想查詢自己電腦主機的硬體資訊時,在以前我最愛用的軟體是 EVEREST Home Edition,不過缺點是 EVEREST Home Edition 無法在有 AD 的環境下使用,自從我公司導入 AD 之後我就再也沒在用了。但最近我找到了 HWiNFO32™ 免費軟體,功能一樣強大、資訊一樣很清楚。

HWiNFO32 執行畫面 

處了詳細的資料外,在視窗的工具列還提供了 Summary 工具方便查看常見的資訊,例如:CPU, Motherboard, Drives, Video/Other 等。

System manufacturer

另外,還有 Benchmark 工具可以查看主機的實際效能,包括 CPU 執行效能, Memory 傳輸速率與 Disk 的讀取速度等。

HWiNFO32 - Benchmark

HWiNFO32 - Benchmark Results

我覺得有這些資訊就很夠啦,以後終於不用再拆主機辛苦的查這些資訊了。

備註:EVEREST Home Edition 在原廠已經不提供下載了,不過各位還是可以到各大軟體下載網站取得。

相關連結

  

此文章由 will 發表於 2008/8/30 上午 12:01:40

永久連結 | 評論 (4) | 此文章的RSSRSS comment feed |

分類: 介紹好用工具

標籤:

收藏:

解決【規劃的新資料庫擁有者已經是資料庫的使用者】問題

之前我有寫過一篇開發 ASP.NET 使用 SQL Server 2000 要注意權限是否足夠,但同樣的問題今天又有同事遇到了,不過當我要將該使用者設定為該資料庫的擁有者時,SQL 2000 卻回應我「規劃的新資料庫擁有者已經是資料庫的使用者」錯誤訊息,不過用這段訊息去搜尋什麼也找不到,通常我都將特定的關鍵字翻譯成英文後再去查詢就會查到了,而這段話的英文其實是 "The proposed new database owner is already a user in the database",當然,我也因此找到了解答。

我的資料庫使用者名稱是 User1,登入帳號為 User1,而該使用者已經新增到該資料庫了,所以才無法被指派為該資料庫的使用者。

解決的方法就是先將該使用者從資料庫中刪除,然後就可以從「資料庫屬性」的「檔案」頁籤指定新的擁有者了,而擁有者就直接選取 User1 登入帳號即可。

image

不過,你可別想從資料庫的 [安全性] -> [使用者] 再新增 User1 進去阿,因為他會回應你【登入已經具有一個不同使用者名稱之下的帳號。】

你不用再新增使用者,即可用 User1 登入帳號存取此資料庫了,因為 User1 已經是本資料庫的擁有者了。

P.S. 這問題只有在使用 Visual Studio 2005/2008 + SQL Server 2000 開發專案,且需進入除錯模式(Debug Mode)時才會出現的問題。

相關連結

  

此文章由 will 發表於 2008/8/29 上午 09:06:14

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: SQL Server | Visual Studio

標籤: ,

收藏:

介紹好用工具:FxCop ( 靜態程式碼分析 )

FxCop 是一種靜態程式碼分析工具,主要是用來分析採用 .NET 技術開發的組件(Assembly)品質,其中分析的規則也多達上百條(FxCop 1.36 預設有 197 種規則),並依照不同的領域分門別類,大致有以下類別:

  • 設計警告 ( Design Rules )
    支援 .NET Framework 設計方針所指定之正確程式庫設計的警告。
  • 全球化警告 ( Globalization )
    支援世界性程式庫和應用程式的警告。
  • 互通性警告 ( Interoperability )
    支援與 COM 用戶端互動的警告。
  • 維護性警告 ( Maintainability )
    維護性警告支援程式庫和應用程式維護。
  • 命名警告 ( Naming )
    支援遵守 .NET Framework 設計方針之命名慣例的警告。
  • 效能警告 ( Performance )
    支援高效能程式庫和應用程式的警告。
  • 可攜性警告 ( Portability )
    可攜性警告會支援各種不同平台的可攜性。
  • 可靠性警告 ( Reliability )
    支援程式庫和應用程式可靠性的警告,如正確的記憶體和執行緒用法。
  • 安全性警告 ( Security )
    支援更安全之程式庫和應用程式的警告。
  • 用法警告 ( Usage )
    支援適當使用 .NET Framework 的警告。

[ 以上資訊摘自 MSDN Managed 程式碼的程式碼分析警告 單元 ]

這些檢查規則(Rules)都是微軟在開發 .NET Class Library 時提出的各種程式設計的規範與警告,讓工程師們能夠寫出好用且易於維護的程式碼,FxCop 原意是要提供給開發類別庫(Class Library)的開發人員用的,只不過若一般的 .Net 應用程式也能夠遵照這些 Rules 開發的話,想必也能夠獲益良多,我覺得任何 .NET 工程師應該都要試試 FxCop 工具。

若要使用 FxCop 有幾個基本的步驟,如下:

1. 新增專案

Microsoft FxCop - New Project

2. 新增檢查目標,並選擇一個至多個 .NET 組件

Microsoft FxCop - Add Targets

3. 選擇要檢查的規則:在 FxCop 中雖然 Rules 這麼多,但如果全部都套用的話也其實不太實際,你可以選擇部分檢查規則就好,只要切換到 Rules 頁籤後,勾選你想要檢查的類別或特定項目即可。

Microsoft FxCop - Rules Tab

4. 按下 Analyze 按鈕進行程式碼檢查

Microsoft FxCop - Targets - Begin Analysis

5. 最後就是查看報表了,你可以在右側的檢查項目上選取 Properties 查看警告的詳細

Microsoft FxCop - Report

而在 Message Details 視窗裡有許多資訊可以查看,如下圖 Issues 頁籤可看到 Resolution (解決方式)

Microsoft FxCop - Message Details - Issues

Rule Details 提供了更詳細的說明

Microsoft FxCop - Message Details - Rule Details

Message 頁籤提供該條警告偵測到的方法(Method)

 Microsoft FxCop - Message Details - Message

Rules Support 頁籤提供了該條規則所提供支援訊息,其中 URL 的連結會連到 MSDN 看到該規則詳細的說明,而且是中文的喔!

Microsoft FxCop - Message Details - Rule Support

而最後的 Notes 可以讓 Code Review 的人員填入自己的筆記備查

Microsoft FxCop - Message Details - Notes

其他的部分就讓各位自己去發掘啦!

目前最新的 FxCop 是在 2008/8/13 發佈的 1.36 正式版,除此之外 FxCop 工具也早已整合進 Visual Studio Team System 產品中,在這次的 Visual Studio 2008 SP1 更新中也包括 FxCop 1.36 的更新。

備註:如果你之前已經安裝了FxCop 1.36 Beta 2,在安裝FxCop 1.36之前需要先解除安裝 Beta 2 才能安裝正式版。

相關連結

  

此文章由 will 發表於 2008/8/28 下午 02:40:44

永久連結 | 評論 (2) | 此文章的RSSRSS comment feed |

分類: .Net | C# | Security | 介紹好用工具

標籤:

收藏:

SQL Server 2008 範例資料庫下載

好像在十幾天前微軟就已經放出了 SQL Server 2008 範例資料庫可供下載,未來如果各位要下載由微軟提供的範例資料庫,其實都可以到 CodePlexhttp://www.codeplex.com/MSFTDBProdSamples 專案網址查看。

SQL Server Sample Databases

而另一個由社群提供的資料庫範例可以到 http://codeplex.com/SqlServerSamples 下載,這裡提供的範例資料庫就更完整、更多了。

Microsoft SQL Server Community Projects & Samples

  

此文章由 will 發表於 2008/8/27 上午 08:49:29

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: SQL Server

標籤: ,

收藏: