ScottGu's blog translated by Chica @ Wankuma

.NET Framework ライブラリのソースコードをリリース

  

私のチームが行ってきたことの1つが.NET開発者が.NET Frameworkライブラリのソースコードをダウンロードして参照することができ、それらの中で簡単にデバッグサポートを可能にすることでした。

今日、私はこの年末辺りの.NET3.5とVS 2008リリースでこれを提供することになりましたことをお伝えでき、非常に喜んでおります。

まず、次のソースコード (コメントが含まれたソースファイルで)からご提供していきます。 .NETベースクラスライブラリ (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Textなど)、 ASP.NET (System.Web)、 Windows フォーム (System.Windows.Forms)、 ADO.NET (System.Data)、 XML (System.Xml)、 WPF (System.Windows)です。 そして今後ほかのライブラリ(WCF、Workflow、LINQなど)を追加していきます。 ソースコードは Microsoft Reference License (MS-RL)の下リリースされます。

.NET Frameworkソースライブラリは標準のインストールを通じてダウンロードすることができます。(ローカルでそれを参照するのにどんなテキストエディタでも使用することができます。)

統合Visual Studio 2008デバッグサポート

VS 2008の最終リリースはMicrosoftがホストしているWebサーバから.NET Framworkデバッガーシンボル(と対応しているソースコード)を動的にダウンロードしてそのデバッガを構成する機能をサポートしています。.NET Frameworkシンボルは全て一括でダウンロードするか、手動でオンデマンドで取得して構成することができます。:

.NET アプリケーションをデバッグしてコード上でブレークポイントに達した時、これからはアプリケーションの.NET Frameworkクラスとメソッドに対する詳細のファイルと行番号情報が含まれたデバッガの呼び出し履歴を見ることができるようになります。:

上記のスクリーンショットでは、GridView1.DataBind()を呼び出している場所でブレークポイントを設定していることが確認できると思います。以前までは、このDataBind()メソッドまで掘りさげていって、それがどのように実装されているかを確認する方法は全くありませんでした。

VS 2008になれば、F11 ("ステップ イン")を押下して、.NET Frameworkソース実装をデバッガで掘り下げていくことができます。:

VS 2008は自動的に適切な.NET FrameworkソースファイルをオンデマンドでMicrosoftから取得するサポートも含まれています。つまり、上記のASP.NETのGridViewやBaseDataBoundControlクラスのソースコードはデバッガーを開始する前にマシン上にインストールしておく必要がないということです。その代りにF11を使用して実装をステップ インすれば、VSが自動的にMicrosoftからソースファイルをダウンロードしてIDE上で開きます。

動的にファイルをダウンロードすることで、マシン上の.NET Frameworkの特定のバージョンと常に一致しているソースファイルであることが確認できます。(たとえば、もしGDRまたはサービスパックパッチをマシン上でインストールしている場合、それに対応したソースファイルがダウンロードされている必要があります。)

.NET Frameworkコードのステップ実行に加え、.NET Frameworkソースへの呼び出し履歴へステップバックすることもできます。例えば、上記のようなシナリオだと、呼び出し履歴をダブルクリックしてSystem.Web.UI.Pageクラス上のprivate ProcessRequestメソッドをレビューすることができます。 :

また、オプションでさらに(Pageが予定されているスレッドを制御する)mscorlibで実装されているSystem.Threading.ThreadPoolへまでもステップ インすることができます。:

自分のコード内または.NET Frameworkソース内でVSデバッガの"ローカル"と"ウォッチ"ウィンドウが完全にサポートされている様子を前の2つのスクリーンショットでご確認ください。

まとめ

ソースコードへのアクセスと.NET Frameworkライブラリのデバッガ統合ができることは.NET開発者には非常に価値のあることになると思います。ステップ インおよびソースレビューは.NET Frameworkライブラリがどのように実装されているかより優れた洞察が行えるため、よりよいアプリケーションを構築でき、それらの使用もさらに良いものにしていくことができるようになります。

ソースリリース計画の詳細と上記のデバッグ統合の動作方法については、このPodcastを見てください。これは Scott HanselmanShawn Burke が先日録画したものです。Shawn (このソースプロジェクトを操作していた)は、次の優れたChannel9 ビデオを今週末に公開する予定です。これは、VS 2008の統合デバッグサポートとソースを使用しているところを紹介しています。

Hope this helps,

Scott

ScottGu's blog translated by Chica @ Wankuma 

※本翻訳に関しまして、Scottさんにはご了承頂いております。