IAssemblyPostProcessor Interface

Definição

Define o método implementado por uma classe para processar um assembly depois que o assembly foi compilado.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
Implementações

Exemplos

O exemplo de código a seguir demonstra como criar uma implementação da IAssemblyPostProcessor interface e registrá-la no arquivo Web. config de um aplicativo Web.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.

A primeira parte do exemplo de código cria uma classe chamada Samples.Process.postProcessTest que implementa a IAssemblyPostProcessor interface.The first part of the code example creates a class named Samples.Process.postProcessTest that implements the IAssemblyPostProcessor interface. Essa classe executa a ação simples de gravar um arquivo quando o PostProcessAssembly método é chamado.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

Compile a classe em um arquivo. dll com o comando csc /target:library postProcessTest.cs.Compile the class into a .dll file with the command csc /target:library postProcessTest.cs. Adicione o arquivo. dll resultante à pasta bin de um aplicativo ASP.NET e registre o. dll no arquivo Web. config, conforme mostrado no código a seguir.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" />  

Quando um usuário visita o site, o aplicativo Web é compilado dinamicamente e o arquivo MyTest. txt será gravado em C:\compile.When a user visits the Web site, the Web application is dynamically compiled and the file MyTest.txt will be written to C:\compile.

Comentários

Uma classe que implementa essa interface pode acessar um assembly depois que ele tiver sido compilado.A class implementing this interface can access an assembly after it has been compiled. A AssemblyBuilder classe compila assemblies e, em seguida, verifica para ver se IAssemblyPostProcessor uma interface foi registrada no arquivo de configuração da Web.The AssemblyBuilder class compiles assemblies and then checks to see whether an IAssemblyPostProcessor interface has been registered in the Web configuration file. Nesse caso, a AssemblyBuilder instância chama o PostProcessAssembly método da IAssemblyPostProcessor interface para executar qualquer ação após a compilação e antes de carregar o assembly.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. Por exemplo, uma ferramenta de criador de perfil poderia implementar essa interface para estabelecer investigações no assembly.For example, a profiler tool could implement this interface to establish probes in the assembly.

Quando uma IAssemblyPostProcessor interface é registrada, o aplicativo ASP.net e seus assemblies sempre serão compilados no modo de depuração.When an IAssemblyPostProcessor interface is registered, the ASP.NET application and its assemblies will always be compiled in debug mode.

Métodos

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação ou redefinição de recursos não gerenciados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Herdado de IDisposable)
PostProcessAssembly(String)

Chamado antes de o assembly ser carregado para permitir que a classe de implementação modifique o assembly.Called before the assembly is loaded to allow the implementing class to modify the assembly.

Aplica-se a