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:\compile.
Комментарии
Класс AssemblyBuilder вызывает этот метод после компиляции сборки. Все действия, выполняемые перед загрузкой сборки, должны быть включены в этот метод.