IAssemblyPostProcessor 인터페이스

정의

어셈블리가 빌드된 후 어셈블리를 처리하기 위해 클래스가 구현하는 메서드를 정의합니다.

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

예제

다음 코드 예제에서는 인터페이스의 구현을 만들고 웹 애플리케이션의 IAssemblyPostProcessor Web.config 파일에 등록하는 방법을 보여 줍니다.

코드 예제의 첫 번째 부분에서는 인터페이스를 구현하는 클래스 Samples.Process.postProcessTestIAssemblyPostProcessor 만듭니다. 이 클래스는 메서드를 호출할 때 PostProcessAssembly 파일을 작성하는 간단한 작업을 수행합니다.

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

명령을 csc /target:library postProcessTest.cs사용하여 클래스를 .dll 파일로 컴파일합니다. 결과 .dll 파일을 ASP.NET 애플리케이션의 Bin 폴더에 추가하고 다음 코드와 같이 Web.config 파일에 .dll 등록합니다.

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

사용자가 웹 사이트를 방문하면 웹 애플리케이션이 동적으로 컴파일되고 파일 MyTest.txt C:\compile에 기록됩니다.

설명

이 인터페이스를 구현하는 클래스는 컴파일된 후 어셈블리에 액세스할 수 있습니다. 클래스는 AssemblyBuilder 어셈블리를 컴파일한 다음, 인터페이스가 IAssemblyPostProcessor 웹 구성 파일에 등록되었는지 확인합니다. 이 경우 인스턴스는 AssemblyBuilder 컴파일 후 및 어셈블리를 PostProcessAssembly 로드하기 전에 모든 작업을 수행하기 위해 인터페이스에 대한 메서드를 호출 IAssemblyPostProcessor 합니다. 예를 들어 프로파일러 도구는 이 인터페이스를 구현하여 어셈블리에 프로브를 설정할 수 있습니다.

IAssemblyPostProcessor 인터페이스가 등록되면 ASP.NET 애플리케이션과 해당 어셈블리는 항상 디버그 모드로 컴파일됩니다.

메서드

Name Description
Dispose()

관리되지 않는 리소스의 해제, 해제 또는 재설정과 관련된 애플리케이션 정의 작업을 수행합니다.

(다음에서 상속됨 IDisposable)
PostProcessAssembly(String)

구현 클래스가 어셈블리를 수정할 수 있도록 어셈블리를 로드하기 전에 호출됩니다.

적용 대상