方法: Web.config ファイルを変更して、動的にコンパイルされた ASP.NET Web アプリケーションをインストルメント化およびプロファイルするHow to: Modify Web.Config Files to Instrument and Profile Dynamically Compiled ASP.NET Web Applications

Visual StudioVisual Studio プロファイリング ツールのインストルメンテーション方式を使用すると、動的にコンパイルされた ASP.NETASP.NET Web アプリケーションから、詳しいタイミング データ、.NET のメモリの割り当てデータ、.NET オブジェクトの有効期間に関するデータを収集できます。You can use the Visual StudioVisual Studio Profiling Tools instrumentation method to collect detailed timing data, .NET memory allocation data, and .NET object lifetime data from dynamically compiled ASP.NETASP.NET Web applications.

このトピックでは、web.config 構成ファイルを変更して ASP.NETASP.NET Web アプリケーションのインストルメント化とプロファイルを有効にする方法について説明します。This topic describes how to modify the web.config configuration file to enable the instrumentation and profiling of ASP.NETASP.NET Web applications.

注意

サンプリング プロファイル方式を使用する場合や、プリコンパイルされた ASP.NETASP.NET モジュールをインストルメント化する場合は、web.config ファイルを変更する必要はありません。You are not required to modify the web.config file when you use the sampling profiling method, or when you want to instrument a pre-compiled ASP.NETASP.NET module.

web.config ファイルのルートは、configuration 要素です。The root of a web.config file is the configuration element. 動的にコンパイルされた ASP.NETASP.NET Web アプリケーションをインストルメント化およびプロファイルするには、次の要素を追加するか変更する必要があります。To instrument and profile a dynamically compiled ASP.NETASP.NET Web application, you must add or modify the following elements:

  • プロファイリングを制御する Microsoft.VisualStudio.Enterprise.ASPNetHelper アセンブリを識別する configuration/runtime/assemblyBinding/dependentAssembly 要素。A configuration/runtime/assemblyBinding/dependentAssembly element that identifies the Microsoft.VisualStudio.Enterprise.ASPNetHelper assembly that controls profiling. dependentAssembly 要素には、2 つの子要素、assemblyIdentitycodeBase が含まれます。The dependentAssembly element contains two child elements: assemblyIdentity and codeBase.

  • ターゲット アセンブリに対するプロファイラーの処理後のコンパイル手順を指定する configuration/system.web/compilation 要素。A configuration/system.web/compilation element that identifies the profiler post-process compilation step for the target assembly.

  • プロファイリング ツールの場所を識別する 2 つの add 要素が configuration/appSettings セクションに追加されます。Two add elements that identify the location of the Profiling Tools tools are added to the configuration/appSettings section .

    アプリケーションの構成を復元するために使用できるように、変更前の web.config ファイルのコピーを作成することをお勧めします。We recommend that you create a copy of the original web.config file that you can use to restore the configuration of the application.

ASPNetHelper アセンブリを configuration/runtime/assemblyBinding/dependentAssembly 要素として追加するにはTo add the ASPNetHelper assembly as a configuration/runtime/assemblyBinding/dependentAssembly element

  1. 必要に応じて、configuration 要素の子要素として runtime 要素を追加します。追加しない場合は次の手順に進みます。If necessary, add the runtime element as a child element of the configuration element; otherwise, go to the next step.

    runtime 要素には、属性はありません。The runtime element has no attributes. configuration 要素には、runtime 子要素を 1 つだけ含めることができます。The configuration element can have only one runtime child element.

  2. 必要に応じて、runtime 要素の子要素として assemblyBinding 要素を追加します。追加しない場合は次の手順に進みます。If necessary, add the assemblyBinding element as a child element of the runtime element; otherwise, go to the next step.

    runtime 要素には、assemblyBinding 要素を 1 つだけ含めることができます。The runtime element can have only one assemblyBinding element.

  3. assemblyBinding 要素に、次の属性名と値を追加します。Add the following attribute name and value to the assemblyBinding element:

    属性名Attribute Name 属性の値Attribute Value
    XmlnsXmlns urn:schemas-microsoft-com:asm.v1urn:schemas-microsoft-com:asm.v1
  4. assemblyBinding 要素の子要素として dependentAssembly 要素を追加します。Add a dependentAssembly element as a child element of the assemblyBinding element.

    dependentAssembly 要素には属性がありません。The dependentAssembly element has no attributes.

  5. dependentAssembly 要素の子として assemblyIdentity 要素を追加します。Add an assemblyIdentity element as a child of the dependentAssembly element.

  6. assemblyIdentity 要素に、次の属性名と値を追加します。Add the following attribute names and values to the assemblyIdentity element:

    属性名Attribute Name 属性の値Attribute Value
    namename Microsoft.VisualStudio.Enterprise.ASPNetHelperMicrosoft.VisualStudio.Enterprise.ASPNetHelper
    PublicKeyTokenPublicKeyToken b03f5f7f11d50a3ab03f5f7f11d50a3a
    cultureculture NeutralNeutral
  7. dependentAssembly 要素の子として codeBase 要素を追加します。Add a codeBase element as a child of the dependentAssembly element.

  8. codeBase 要素に、次の属性名と値を追加します。Add the following attribute names and values to the codeBase element:

    属性名Attribute Name 属性の値Attribute Value
    versionversion 10.0.0.010.0.0.0
    hrefhref PathToASPNetHelperDll

    PathToASPNetHelperDll は、Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll のファイル URL です。PathToASPNetHelperDll is the file URL of the Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll. Visual StudioVisual Studio が既定の場所にインストールされている場合、href 値は C:/Program%20Files/Microsoft%20Visual%20Studio%202010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL となります。If Visual StudioVisual Studio is installed in the default location, the href value should be C:/Program%20Files/Microsoft%20Visual%20Studio%202010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL

    <configuration>  
        <runtime>  
            <assemblyBinding   
                xmlns="urn:schemas-microsoft-com:asm.v1"  
            >  
                <dependentAssembly>  
                    <assemblyIdentity                         name="Microsoft.VisualStudio.Enterprise.ASPNetHelper"   
                        publicKeyToken="b03f5f7f11d50a3a"                         culture="neutral"   
                    />  
                    <codeBase   
                        version="10.0.0.0"  
                        href="file:///C:/Program%20Files/Microsoft%20Visual%20Studio%2010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL"   
                    />  
                </dependentAssembly>  
            </assemblyBinding>  
        </runtime>  

configuration/system.web/compilation 要素にプロファイラーの処理後の手順を追加するにはTo add the Profiler post-process step to the configuration/system.web/compilation element

  1. 必要に応じて、configuration 要素の子要素として system.web 要素を追加します。追加しない場合は次の手順に進みます。If necessary, add the system.web element as a child element of the configuration element; otherwise, go to the next step.

    system.web 要素には属性はありません。The system.web element has no attributes. configuration 要素には、system.web 子要素を 1 つだけ含めることができます。The configuration element can have only one system.web child element.

  2. 必要に応じて、system.web 要素の子要素として compilation 要素を追加します。追加しない場合は次の手順に進みます。If necessary, add the compilation element as a child element of the system.web element; otherwise, go to the next step.

    system.web 要素には、compilation 子要素を 1 つだけ含めることができます。The system.web element can have only one compilation child element.

  3. compilation 要素に既存の属性があればすべて削除し、次の属性名と値を追加します。Remove any existing attributes from the compilation element, and add the following attribute name and value:

    属性名Attribute Name 属性の値Attribute Value
    assemblyPostProcessorTypeassemblyPostProcessorType Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.ASPNetHelper, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMicrosoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.ASPNetHelper, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    <configuration>  
        <runtime>  
        . . .  
        </runtime>  
        <system.web>  
            <compilation  
                assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter,  
                    Microsoft.VisualStudio.Enterprise.ASPNetHelper,  
                    Version=10.0.0.0,  
                    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"   
            />  
        </system.web>  
    <configuration>  

プロファイラーの場所の設定を configuration/appSettings 要素に追加するにはTo add Profiler location settings to the configuration/appSettings element

  1. 必要に応じて、configuration 要素の子要素として appSettings 要素を追加します。追加しない場合は次の手順に進みます。If necessary, add the appSettings element as a child element of the configuration element; otherwise, go to the next step.

    appSettings 要素には属性はありません。The appSettings element has no attributes. configuration 要素には、appSettings 子要素を 1 つだけ含めることができます。The configuration element can have only one appSettings child element.

  2. add 要素を appSettings 要素の子として追加します。Add an add element as a child of the appSettings element.

  3. add 要素に、次の属性名と値を追加します。Add the following attribute names and values to the add element:

    属性名Attribute Name 属性の値Attribute Value
    keykey Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocationMicrosoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation
    valuevalue PerformanceToolsFolder \VSInstr.ExePerformanceToolsFolder \VSInstr.Exe
  4. 別の add 要素を appSettings 要素の子として追加します。Add another add element as a child of the appSettings element.

  5. この add 要素に、次の属性名と値を追加します。Add the following attribute names and values to this add element:

    属性名Attribute Name 属性の値Attribute Value
    keykey Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrToolsMicrosoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools
    valuevalue PerformanceToolsFolder

    PerformanceToolsFolder は、プロファイラーの実行可能ファイルへのパスです。PerformanceToolsFolder is the path of the profiler executable files. Visual StudioVisual Studio が既定の場所にインストールされている場合、値は C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools になります。If Visual StudioVisual Studio is installed in the default location, the value will be C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

    <configuration>  
        <runtime>  
        . . .  
        </runtime>  
        . . .  
        <system.web>  
        </system.web>  
        <appSettings>  
            <add  
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation"  
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\vsinstr.exe"  
        />  
            <add  
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools"  
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\"  
            />  
        </appSettings>  
    </configuration>  

Example

次に示すのは、動的にコンパイルされた ASP.NETASP.NETWeb アプリケーションのインストルメント化とプロファイルを可能にする完全な web.config ファイルです。The following is a complete web.config file that enables the instrumentation and profiling of dynamically compiled ASP.NETASP.NET Web applications. この例では、変更前のファイルには他の設定が含まれていないことを前提としています。This example assumes that there were no other settings in the file before modification.

<?xml version="1.0"?>  
    <configuration>  
        <runtime>  
            <assemblyBinding   
                xmlns="urn:schemas-microsoft-com:asm.v1"  
            >  
                <dependentAssembly>  
                    <assemblyIdentity   
                        name="Microsoft.VisualStudio.Enterprise.ASPNetHelper"   
                        publicKeyToken="b03f5f7f11d50a3a"  
                        culture="neutral"   
                    />  
                    <codeBase   
                        version="10.0.0.0"  
                        href="file:///C:/Program%20Files/Microsoft%20Visual%20Studio%2010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL"   
                    />  
                </dependentAssembly>  
            </assemblyBinding>  
        </runtime>  
        <system.web>  
            <compilation  
                assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter,  
                    Microsoft.VisualStudio.Enterprise.ASPNetHelper,  
                    Version=10.0.0.0,  
                    Culture=neutral,  
                    PublicKeyToken=b03f5f7f11d50a3a"   
            />  
        </system.web>  
        <appSettings>  
            <add  
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation"  
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\vsinstr.exe"  
            />  
            <add  
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools"  
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\"  
            />  
        </appSettings>  
    </configuration>  

関連項目See Also

方法: 動的にコンパイルされた ASP.NET アプリケーションをインストルメントし、詳細なタイミング データを収集する How to: Instrument a Dynamically Compiled ASP.NET Application and Collect Detailed Timing Data
方法: 動的にコンパイルされた ASP.NET アプリケーションをインストルメントし、メモリ データを収集するHow to: Instrument a Dynamically Compiled ASP.NET Application and Collect Memory Data