Sdílet prostřednictvím


IAssemblyPostProcessor Rozhraní

Definice

Definuje metodu, která třída implementuje zpracování sestavení po sestavení.

public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
    interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
Implementuje

Příklady

Následující příklad kódu ukazuje, jak vytvořit implementaci IAssemblyPostProcessor rozhraní a zaregistrovat ho do Web.config souboru webové aplikace.

První část příkladu kódu vytvoří třídu s názvem Samples.Process.postProcessTest , která implementuje IAssemblyPostProcessor rozhraní. Tato třída provádí jednoduchou akci zápisu souboru při PostProcessAssembly volání metody.

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

Kompilujte třídu do souboru .dll příkazem csc /target:library postProcessTest.cs. Přidejte výsledný .dll soubor do složky Bin aplikace ASP.NET a zaregistrujte .dll v Web.config souboru, jak je znázorněno v následujícím kódu.

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

Když uživatel navštíví web, webová aplikace se dynamicky zkompiluje a soubor MyTest.txt se zapíše do C:\compile.

Poznámky

Třída implementovaná toto rozhraní má přístup k sestavení po jeho kompilaci. Třída AssemblyBuilder zkompiluje sestavení a zkontroluje, jestli IAssemblyPostProcessor bylo rozhraní zaregistrované v konfiguračním souboru webu. Pokud ano, AssemblyBuilder instance volá metodu PostProcessAssembly rozhraní IAssemblyPostProcessor k provedení jakékoli akce po kompilaci a před načtením sestavení. Nástroj profileru může například implementovat toto rozhraní k vytvoření sond v sestavení.

IAssemblyPostProcessor Při registraci rozhraní se aplikace ASP.NET a jeho sestavení vždy zkompilují v režimu ladění.

Metody

Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

(Zděděno od IDisposable)
PostProcessAssembly(String)

Volá se před načtením sestavení, aby implementovaná třída mohla upravit sestavení.

Platí pro