IAssemblyPostProcessor インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ビルド後のアセンブリを処理するためにクラスが実装するメソッドを定義します。
public interface class IAssemblyPostProcessor : IDisposable
public interface IAssemblyPostProcessor : IDisposable
type IAssemblyPostProcessor = interface
interface IDisposable
Public Interface IAssemblyPostProcessor
Implements IDisposable
- 実装
例
次のコード例では、 インターフェイスの実装を作成し、Web アプリケーションの 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 ファイルを ASP.NET アプリケーションの Bin フォルダーに追加し、次のコードに示すように、Web.config ファイルに.dllを登録します。
<compilation debug="true" assemblyPostProcessorType="Samples.Process.postProcessTest" />
ユーザーが Web サイトにアクセスすると、Web アプリケーションが動的にコンパイルされ、MyTest.txtファイルが C:\compile に書き込まれます。
注釈
このインターフェイスを実装するクラスは、コンパイル後にアセンブリにアクセスできます。 クラスは AssemblyBuilder アセンブリをコンパイルし、インターフェイスが Web 構成ファイルに登録されているかどうかを IAssemblyPostProcessor 確認します。 その場合、インスタンスは AssemblyBuilder インターフェイスの メソッドをPostProcessAssemblyIAssemblyPostProcessor呼び出して、コンパイル後とアセンブリの読み込み前にアクションを実行します。 たとえば、プロファイラー ツールでこのインターフェイスを実装して、アセンブリにプローブを確立できます。
インターフェイスが IAssemblyPostProcessor 登録されると、ASP.NET アプリケーションとそのアセンブリは常にデバッグ モードでコンパイルされます。
メソッド
Dispose() |
アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 (継承元 IDisposable) |
PostProcessAssembly(String) |
アセンブリが読み込まれる前に呼び出されます。これを実装したクラスは、アセンブリを変更できます。 |
適用対象
.NET