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