IAssemblyPostProcessor.PostProcessAssembly(String) Methode

Definitie

Aangeroepen voordat de assembly wordt geladen, zodat de implementatieklasse de assembly kan wijzigen.

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

Parameters

path
String

Het pad naar de assembly.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een implementatie van de IAssemblyPostProcessor interface maakt en deze registreert in het Web.config-bestand van een webtoepassing.

In het eerste deel van het codevoorbeeld wordt een klasse gemaakt met de naam Samples.Process.postProcessTest die de IAssemblyPostProcessor interface implementeert. Deze klasse voert de eenvoudige actie uit om een bestand te schrijven wanneer de PostProcessAssembly methode wordt aangeroepen.

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

Compileer de klasse in een .dll-bestand met de opdracht csc /target:library postProcessTest.cs. Voeg het resulterende .dll bestand toe aan de map Bin van een ASP.NET toepassing en registreer de .dll in het Web.config bestand, zoals wordt weergegeven in de volgende code.

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

Wanneer een gebruiker de website bezoekt, wordt de webtoepassing dynamisch gecompileerd en wordt het bestand MyTest.txt naar C:\compile geschreven.

Opmerkingen

De AssemblyBuilder klasse roept deze methode aan nadat de assembly is gecompileerd. Alle acties die moeten worden uitgevoerd voordat de assembly wordt geladen, moeten in deze methode worden opgenomen.

Van toepassing op