Share via


方法: ASP.NET Web プロジェクトに対する依存関係グラフを生成する

この Visual Studio 2010 Feature Pack を使用すると、依存関係グラフを生成することで、Visual Studio 2010 Ultimate 内の ASP.NET Web プロジェクトの編成および関係を調べることができます。詳細については、「Visual Studio Feature Pack」を参照してください。

重要

この機能を使用するには、Visual Studio 2010 Feature Pack をインストールする必要があります。

以下の種類の Web プロジェクトの依存関係グラフを生成できます。

  • ASP.NET Web サイト

  • ASP.NET Web アプリケーション

  • ASP.NET MVC 2 プロジェクト

依存関係グラフでは、要素とその関係が、リンクによって接続されたノードとして表されます。

Web プロジェクトおよびすべての依存関係のグラフ

ASP.NET Web プロジェクトの依存関係グラフとコードのすべての依存関係

これらのグラフは、マスター ページ、コントロール、サーバー コントロール、モデル、ビュー、コントローラー、分離コード要素などの Web 成果物の間の論理的な編成と依存関係を視覚化、調査、および管理するのに役立ちます。 これを使用すると、ある成果物への変更が他の関係する成果物にどのように影響するのかを理解できます。 ソリューションのすべての Web サイトまたは特定のプロジェクト アイテムの依存関係グラフを生成できます。

注意

グラフには Web プロジェクトのみが表示されます。 非常に大きなソリューションで依存関係グラフを生成すると、すべてのファイルの解析に時間がかかる場合や、メモリ不足例外が発生する場合があります。 その場合は、ソリューションのスコープを小さくするか、アーキテクチャ エクスプローラーを使用して特定の要素と関係を選択してから、グラフを生成してください。 保存されている Web プロジェクトの依存関係グラフを、Feature Pack がインストールされていない Visual Studio Ultimate で開いた場合、グラフのアイコンが正しく表示されません。

Web プロジェクトのグラフを生成するときは、次の点に注意してください。

  • グラフには、Web プロジェクトに関係のある依存関係だけが表示されます。

  • ノードの警告アイコン ([!]) は、解析の問題が発生したことを示します。 問題についての詳細を見るには、ポインターをノードに重ねた状態でツールヒントを表示してください。

  • Web サイト成果物の間のリンクは、成果物が別の成果物で使用されているなどの依存関係を表します。 コード要素間のリンクは、メソッドの呼び出しなどの依存関係を表します。

  • ASP.NET MVC 2 プロジェクトの場合、Visual Studio では、成果物のファイル名とフォルダーの場所が予期されるものと一致する場合にのみ、ノードとリンクが表示されます。

  • ポインターをリンクに重ねた状態で、正符号 ([+]) をダブルクリックすることにより、リンクの詳細を表示するという操作は使用できません。

  • グラフを生成するとき、Visual Studio では特定の種類の名前空間を解決できない場合があります。 そのような種類は、グラフではグローバル名前空間に表示されます。 このような種類をグラフでダブルクリックして詳細を表示することはできません。

  • グラフのノードは、ビルドされていないプロジェクト内の型を表していることがあります。このようなノードをダブルクリックしてコードを表示しようとすると、失敗する場合または数秒かかる場合があります。 この手順を繰り返し実行すると、遅延が発生し、グラフが応答しなくなることがあります。 この問題を回避または解決するには、ソリューションをビルドしてから、グラフを生成してください。

  • 名前空間が異なっていても、同じ tagprefix で登録されているカスタム コントロールは、グラフでは同じ名前空間に表示されます。 詳細については、「@ Register」を参照してください。

  • ASP.NET MVC 2 プロジェクトの場合、以下のメソッドに対する呼び出しを表すリンクは、たとえば引数を解析できない場合、グラフに表示されないことがあります。

    • System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial

    • System.Web.Mvc.Html.ChildActionExtensions.Action

    • System.Web.Mvc.Html.ChildActionExtensions.RenderAction

    詳細については、次のトピックを参照してください。

ASP.NET Web プロジェクトの詳細については、「ASP.NET 4」を参照してください。

このトピックの内容

  • ソリューション内の Web プロジェクトの依存関係を表示する

  • 特定の Web プロジェクト アイテムの依存関係を表示する

  • 既存のグラフで深いレベルの依存関係を表示する

ソリューション内の ASP.NET Web プロジェクトの依存関係を表示する

以下のレベルで Web プロジェクトの依存関係と論理編成を表示するグラフを生成できます。

  • ソリューション内のすべての Web プロジェクトと、クラス レベルのみのコード依存関係

  • すべての Web プロジェクトと、すべてのレベルのコード依存関係

Web プロジェクトおよびクラス レベルの依存関係のグラフ

ASP.NET Web プロジェクトの依存関係グラフと、クラス レベルの依存関係のみ

Web プロジェクトおよびすべての依存関係のグラフ

ASP.NET Web プロジェクトの依存関係グラフとコードのすべての依存関係

  1. 少なくとも 1 つの ASP.NET Web プロジェクトを含むソリューションを開きます。

  2. [アーキテクチャ] メニューの [依存関係グラフの生成] をポイントし、次のどちらかの手順に従います。

    タスク

    クリックする場所

    すべての Web プロジェクトの依存関係と、クラス レベルのみのコード依存関係を表示する

    [By Web Site] (Web サイト別)

    メソッドの依存関係を既存のグラフに追加するには、グラフを右クリックし、[Get Code Dependencies] (コード依存関係の取得) をクリックします。

    すべての Web プロジェクトの依存関係と、すべてのレベルのコード依存関係を表示する

    [By Web Site with Code Dependencies] (Web サイト別とコード依存関係)

  3. 成果物のソースを表示するには、グラフでそのノードをダブルクリックします。

    グラフの再編成と編集の方法の詳細については、以下を参照してください。

特定の Web プロジェクト アイテムの依存関係を表示する

アーキテクチャ エクスプローラーを使用して、Web プロジェクトの特定のアイテムと関係を選択します。 その後、選択したアイテムから依存関係グラフを作成できます。

注意

この機能は、ASP.NET の Web アプリケーション プロジェクトと ASP.NET の MVC 2 プロジェクトのみをサポートします。

  1. 少なくとも 1 つの Web プロジェクトを含むソリューションを開きます。

  2. アーキテクチャ エクスプローラーが開いていない場合は、[アーキテクチャ] メニューの [Windows] をポイントし、[アーキテクチャ エクスプローラー] をクリックします。

  3. アーキテクチャ エクスプローラーを使用して、視覚化する成果物および関係を検索します。

  4. アイテムを選択し、空白のグラフまたは既存のグラフにドラッグします。

アーキテクチャ エクスプローラーを使用してコード要素およびソリューション成果物を参照する方法の詳細については、以下を参照してください。

既存のグラフで深いレベルの依存関係を表示する

クラス レベルの依存関係のみを表示する Web プロジェクトのグラフを生成した場合、新しいグラフを生成せずに、メソッド レベルの依存関係を追加できます。

ヒント

この操作では、グラフに手動で追加された、グラフ上の Web サイトとの間に関係のないアイテムは削除されます。

既存のグラフで深いレベルの依存関係を表示するには

  • グラフを右クリックし、[Get Code Dependencies] (コード依存関係の取得) をクリックします。

参照

概念

既存のコードの視覚化

その他の技術情報

ASP.NET 4

方法: グラフ ドキュメントを参照および操作する

方法: 依存関係グラフを使ってコードを調べる

方法: グラフ ドキュメントを編集およびカスタマイズする

方法: C コードおよび C++ コードに対する依存関係グラフを生成する