IAssemblyPostProcessor IAssemblyPostProcessor IAssemblyPostProcessor IAssemblyPostProcessor Interface

정의

어셈블리가 빌드된 후에 어셈블리 처리를 위해 클래스가 구현하는 메서드를 정의합니다.Defines the method a class implements to process an assembly after the assembly has been built.

public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
    interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
구현

예제

다음 코드 예제에서는 구현 하는 방법에 설명 합니다 IAssemblyPostProcessor 인터페이스 및 웹 애플리케이션의 Web.config 파일에 등록 합니다.The following code example demonstrates how to create an implementation of the IAssemblyPostProcessor interface, and register it in the Web.config file of a Web application.

코드 예제의 첫 번째 부분 이라는 클래스를 만듭니다 Samples.Process.postProcessTest 를 구현 하는 IAssemblyPostProcessor 인터페이스입니다.The first part of the code example creates a class named Samples.Process.postProcessTest that implements the IAssemblyPostProcessor interface. 이 클래스는 파일을 작성 하는 간단한 작업을 수행 하면는 PostProcessAssembly 메서드가 호출 됩니다.This class performs the simple action of writing a file when the PostProcessAssembly method is called.

using System;
using System.Web.Compilation;
using System.IO;

namespace Samples.Process
{
    public class postProcessTest : IAssemblyPostProcessor
    {
        public static void Main(String[] args)
        {
        }

        public void PostProcessAssembly(string path)
        {
            StreamWriter sw = File.CreateText(@"c:\compile\MyTest.txt");
            sw.WriteLine("Compiled assembly:");
            sw.WriteLine(path);
            sw.Close();
        }

        public void Dispose()
        {

        }
    }
}
Imports System.Web.Compilation
Imports System.IO

Namespace Samples.Process
    Public Class postProcessTest
        Implements IAssemblyPostProcessor

        Sub Main()

        End Sub

        Public Sub PostProcessAssembly(ByVal path As String) _
            Implements IAssemblyPostProcessor.PostProcessAssembly
            Dim sw As StreamWriter
            sw = File.CreateText("c:\compile\MyTest.txt")
            sw.WriteLine("Compiled assembly:")
            sw.WriteLine(path)
            sw.Close()
        End Sub

        Public Sub Dispose() Implements IDisposable.Dispose

        End Sub
    End Class
End Namespace

클래스를 컴파일하여 명령 사용 하 여.dll 파일 csc /target:library postProcessTest.cs합니다.Compile the class into a .dll file with the command csc /target:library postProcessTest.cs. ASP.NET 애플리케이션의 Bin 폴더에 있는 결과.dll 파일을 추가 하 고 다음 코드 에서처럼 Web.config 파일에.dll을 등록 합니다.Add the resulting .dll file to the Bin folder of an ASP.NET application and register the .dll in the Web.config file, as shown in the following code.

<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />  

사용자가 웹 사이트를 방문 하면 웹 애플리케이션 동적으로 컴파일되고 파일 C:\compile에 MyTest.txt 기록 됩니다.When a user visits the Web site, the Web application is dynamically compiled and the file MyTest.txt will be written to C:\compile.

설명

이 인터페이스를 구현 하는 클래스는 컴파일된 후 어셈블리를 액세스할 수 있습니다.A class implementing this interface can access an assembly after it has been compiled. 합니다 AssemblyBuilder 클래스 어셈블리를 컴파일하고 확인 여부를 IAssemblyPostProcessor 웹 구성 파일에 등록 된 인터페이스입니다.The AssemblyBuilder class compiles assemblies and then checks to see whether an IAssemblyPostProcessor interface has been registered in the Web configuration file. 그렇다면 합니다 AssemblyBuilder 호출 인스턴스를 PostProcessAssembly 에 대 한 메서드는 IAssemblyPostProcessor 컴파일 후 어셈블리를 로드 하기 전에 작업을 수행 하는 인터페이스입니다.If so, the AssemblyBuilder instance calls the PostProcessAssembly method for the IAssemblyPostProcessor interface to perform any action after the compilation and before loading the assembly. 예를 들어 프로파일러 도구 어셈블리에 프로브를 설정 하려면이 인터페이스를 구현할 수 있습니다.For example, a profiler tool could implement this interface to establish probes in the assembly.

경우는 IAssemblyPostProcessor 인터페이스 등록 되 면 ASP.NET 애플리케이션 및 해당 어셈블리는 항상 컴파일됩니다 디버그 모드에서.When an IAssemblyPostProcessor interface is registered, the ASP.NET application and its assemblies will always be compiled in debug mode.

메서드

Dispose() Dispose() Dispose() Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from IDisposable)
PostProcessAssembly(String) PostProcessAssembly(String) PostProcessAssembly(String) PostProcessAssembly(String)

어셈블리가 로드되기 전에 호출되어 구현 클래스를 통해 어셈블리를 수정할 수 있도록 합니다.Called before the assembly is loaded to allow the implementing class to modify the assembly.

적용 대상