IAssemblyPostProcessor Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje metodu, která třída implementuje zpracování sestavení po sestavení 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 v 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 zavolá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
Zkompilujte třídu do souboru .dll pomocí příkazu csc /target:library postProcessTest.cs. Přidejte výsledný .dll soubor do složky Bin aplikace ASP.NET a zaregistrujte .dll v souboru Web.config, 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, která toto rozhraní implementuje, má po kompilaci přístup k sestavení. Třída AssemblyBuilder kompiluje sestavení a poté zkontroluje, zda IAssemblyPostProcessor rozhraní bylo registrováno v konfiguračním souboru webu. Pokud ano, AssemblyBuilder instance volá metodu PostProcessAssembly pro IAssemblyPostProcessor rozhraní provést jakoukoli akci po kompilaci a před načtením sestavení. Nástroj profileru může například implementovat toto rozhraní pro vytvoření sond v sestavení.
Při registraci rozhraní IAssemblyPostProcessor bude aplikace ASP.NET a její sestavení vždy zkompilována v režimu ladění.
Metody
| Name | Description |
|---|---|
| Dispose() |
Provádí úlohy definované aplikací související s uvolněním, 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í. |