Partager via


IAssemblyPostProcessor.PostProcessAssembly(String) Méthode

Définition

Appelé avant le chargement de l'assembly pour permettre à la classe d'implémentation de modifier l'assembly.

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

Paramètres

path
String

Chemin d'accès de l'assembly.

Exemples

L’exemple de code suivant montre comment créer une implémentation de l’interface IAssemblyPostProcessor et l’inscrire dans le fichier Web.config d’une application web.

La première partie de l’exemple de code crée une classe nommée Samples.Process.postProcessTest qui implémente l’interface IAssemblyPostProcessor . Cette classe effectue l’action simple d’écrire un fichier lorsque la PostProcessAssembly méthode est appelée.

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

Compilez la classe dans un fichier .dll avec la commande csc /target:library postProcessTest.cs. Ajoutez le fichier .dll résultant au dossier Bin d’une application ASP.NET et inscrivez le .dll dans le fichier Web.config, comme indiqué dans le code suivant.

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

Lorsqu’un utilisateur visite le site Web, l’application Web est compilée dynamiquement et le fichier MyTest.txt est écrit dans C:\compile.

Remarques

La AssemblyBuilder classe appelle cette méthode une fois l’assembly compilé. Toutes les actions à effectuer avant le chargement de l’assembly doivent être incluses dans cette méthode.

S’applique à