IAssemblyPostProcessor.PostProcessAssembly(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается перед загрузкой сборки, чтобы разрешить реализации класса изменять сборку.
public:
void PostProcessAssembly(System::String ^ path);
public void PostProcessAssembly(string path);
abstract member PostProcessAssembly : string -> unit
Public Sub PostProcessAssembly (path As String)
Параметры
- path
- String
Путь к сборке.
Примеры
В следующем примере кода показано, как создать реализацию IAssemblyPostProcessor интерфейса и зарегистрировать его в Web.config файле веб-приложения.
Первая часть примера кода создает класс с именем Samples.Process.postProcessTest , реализующим IAssemblyPostProcessor интерфейс. Этот класс выполняет простое действие записи файла при вызове PostProcessAssembly метода.
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
Скомпилируйте класс в файл .dll с помощью команды csc /target:library postProcessTest.cs. Добавьте полученный файл .dll в папку Bin приложения ASP.NET и зарегистрируйте .dll в файле Web.config, как показано в следующем коде.
<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />
Когда пользователь посещает веб-сайт, веб-приложение динамически компилируется, а файл MyTest.txt будет записан в C:\compil.
Комментарии
Класс AssemblyBuilder вызывает этот метод после компиляции сборки. Все действия, которые необходимо выполнить перед загрузкой сборки, должны быть включены в этот метод.