Partilhar via


IAssemblyPostProcessor.PostProcessAssembly(String) Método

Definição

Chamado antes de o assembly ser carregado para permitir que a classe de implementação modifique o assembly.

public:
 void PostProcessAssembly(System::String ^ path);
public void PostProcessAssembly (string path);
abstract member PostProcessAssembly : string -> unit
Public Sub PostProcessAssembly (path As String)

Parâmetros

path
String

O caminho para o assembly.

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.

A primeira parte do exemplo de código cria uma classe nomeada Samples.Process.postProcessTest que implementa a IAssemblyPostProcessor interface. Essa classe executa a ação simples de escrever um arquivo quando o PostProcessAssembly método é chamado.

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. 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.

<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.

Comentários

A AssemblyBuilder classe chama esse método depois que o assembly é compilado. Todas as ações a serem executadas antes de carregar o assembly devem ser incluídas neste método.

Aplica-se a