IAssemblyPostProcessor 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
어셈블리가 빌드된 후 어셈블리를 처리하기 위해 클래스가 구현하는 메서드를 정의합니다.
public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
- 구현
예제
다음 코드 예제에서는 인터페이스의 구현을 만들고 웹 애플리케이션의 IAssemblyPostProcessor Web.config 파일에 등록하는 방법을 보여 줍니다.
코드 예제의 첫 번째 부분에서는 인터페이스를 구현하는 클래스 Samples.Process.postProcessTest 를 IAssemblyPostProcessor 만듭니다. 이 클래스는 메서드를 호출할 때 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) |
구현 클래스가 어셈블리를 수정할 수 있도록 어셈블리를 로드하기 전에 호출됩니다. |