次の方法で共有


EmitBaseline.CreateInitialBaseline メソッド

定義

オーバーロード

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>)
古い.

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle, EditAndContinueMethodDebugInformation>, Func<MethodDefinitionHandle, StandaloneSignatureHandle>, Boolean)
古い.

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

CreateInitialBaseline(Compilation, ModuleMetadata, Func<MethodDefinitionHandle, EditAndContinueMethodDebugInformation>, Func<MethodDefinitionHandle, StandaloneSignatureHandle>, Boolean)

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>)

Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs

注意事項

This overload is no longer supported

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

public:
 static Microsoft::CodeAnalysis::Emit::EmitBaseline ^ CreateInitialBaseline(Microsoft::CodeAnalysis::ModuleMetadata ^ module, Func<System::Reflection::Metadata::MethodDefinitionHandle, Microsoft::CodeAnalysis::Emit::EditAndContinueMethodDebugInformation> ^ debugInformationProvider);
public static Microsoft.CodeAnalysis.Emit.EmitBaseline CreateInitialBaseline (Microsoft.CodeAnalysis.ModuleMetadata module, Func<System.Reflection.Metadata.MethodDefinitionHandle,Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> debugInformationProvider);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("This overload is no longer supported", true)]
public static Microsoft.CodeAnalysis.Emit.EmitBaseline CreateInitialBaseline (Microsoft.CodeAnalysis.ModuleMetadata module, Func<System.Reflection.Metadata.MethodDefinitionHandle,Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> debugInformationProvider);
static member CreateInitialBaseline : Microsoft.CodeAnalysis.ModuleMetadata * Func<System.Reflection.Metadata.MethodDefinitionHandle, Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> -> Microsoft.CodeAnalysis.Emit.EmitBaseline
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
[<System.Obsolete("This overload is no longer supported", true)>]
static member CreateInitialBaseline : Microsoft.CodeAnalysis.ModuleMetadata * Func<System.Reflection.Metadata.MethodDefinitionHandle, Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> -> Microsoft.CodeAnalysis.Emit.EmitBaseline
Public Shared Function CreateInitialBaseline (module As ModuleMetadata, debugInformationProvider As Func(Of MethodDefinitionHandle, EditAndContinueMethodDebugInformation)) As EmitBaseline

パラメーター

module
ModuleMetadata

編集前のモジュールのメタデータ。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

メソッド ハンドルの関数は、コンパイラによって PDB に出力されたエディット コンティニュデバッグ情報を返します。 指定したメソッドのデバッグ情報を読み取ることができない場合、関数は をスロー InvalidDataException します。 この例外と IOException はキャッチされ、出力診断に変換されます。 その他の例外はパススルーされます。

戻り値

EmitBaselineモジュールの 。

属性

例外

module は PE イメージではありません。

debugInformationProvider が null です。

モジュール メタデータの読み取り中にエラーが発生しました。

モジュール メタデータが無効です。

モジュールが破棄されました。

適用対象

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle, EditAndContinueMethodDebugInformation>, Func<MethodDefinitionHandle, StandaloneSignatureHandle>, Boolean)

Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs
Source:
EmitBaseline.cs

注意事項

This overload is no longer supported

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

public:
 static Microsoft::CodeAnalysis::Emit::EmitBaseline ^ CreateInitialBaseline(Microsoft::CodeAnalysis::ModuleMetadata ^ module, Func<System::Reflection::Metadata::MethodDefinitionHandle, Microsoft::CodeAnalysis::Emit::EditAndContinueMethodDebugInformation> ^ debugInformationProvider, Func<System::Reflection::Metadata::MethodDefinitionHandle, System::Reflection::Metadata::StandaloneSignatureHandle> ^ localSignatureProvider, bool hasPortableDebugInformation);
public static Microsoft.CodeAnalysis.Emit.EmitBaseline CreateInitialBaseline (Microsoft.CodeAnalysis.ModuleMetadata module, Func<System.Reflection.Metadata.MethodDefinitionHandle,Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> debugInformationProvider, Func<System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.Metadata.StandaloneSignatureHandle> localSignatureProvider, bool hasPortableDebugInformation);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete("This overload is no longer supported", true)]
public static Microsoft.CodeAnalysis.Emit.EmitBaseline CreateInitialBaseline (Microsoft.CodeAnalysis.ModuleMetadata module, Func<System.Reflection.Metadata.MethodDefinitionHandle,Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> debugInformationProvider, Func<System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.Metadata.StandaloneSignatureHandle> localSignatureProvider, bool hasPortableDebugInformation);
static member CreateInitialBaseline : Microsoft.CodeAnalysis.ModuleMetadata * Func<System.Reflection.Metadata.MethodDefinitionHandle, Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> * Func<System.Reflection.Metadata.MethodDefinitionHandle, System.Reflection.Metadata.StandaloneSignatureHandle> * bool -> Microsoft.CodeAnalysis.Emit.EmitBaseline
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
[<System.Obsolete("This overload is no longer supported", true)>]
static member CreateInitialBaseline : Microsoft.CodeAnalysis.ModuleMetadata * Func<System.Reflection.Metadata.MethodDefinitionHandle, Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> * Func<System.Reflection.Metadata.MethodDefinitionHandle, System.Reflection.Metadata.StandaloneSignatureHandle> * bool -> Microsoft.CodeAnalysis.Emit.EmitBaseline
Public Shared Function CreateInitialBaseline (module As ModuleMetadata, debugInformationProvider As Func(Of MethodDefinitionHandle, EditAndContinueMethodDebugInformation), localSignatureProvider As Func(Of MethodDefinitionHandle, StandaloneSignatureHandle), hasPortableDebugInformation As Boolean) As EmitBaseline

パラメーター

module
ModuleMetadata

編集前のモジュールのメタデータ。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

メソッド ハンドルの関数は、コンパイラによって PDB に出力されたエディット コンティニュデバッグ情報を返します。 指定したメソッドのデバッグ情報を読み取ることができない場合、関数は をスロー InvalidDataException します。 この例外と IOException はキャッチされ、出力診断に変換されます。 その他の例外はパススルーされます。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

メソッド ハンドルの関数は、そのローカル変数のシグネチャを返します。 指定したメソッドの情報を読み取ることができない場合、関数は をスロー InvalidDataException します。 この例外と IOException はキャッチされ、出力診断に変換されます。 その他の例外はパススルーされます。

hasPortableDebugInformation
Boolean

True の 場合、ベースライン PDB は移植可能です。

戻り値

EmitBaselineモジュールの 。

属性

例外

localSignatureProvider が null です。

モジュール メタデータの読み取り中にエラーが発生しました。

モジュール メタデータが無効です。

モジュールが破棄されました。

注釈

このメソッドを使用して最初のベースラインのみが作成されます。後続のコンパイルで相違点を出力すると、後続のベースラインが自動的に作成されます。

アクティブなメソッド (スタックにフレームが割り当てられているメソッド) が更新されると、ローカル変数の値を保持する必要があります。 フレーム内のスロットへのローカル変数名のマッピングはメタデータに含まれていないため、 によって debugInformationProvider提供される必要があります。

debugInformationProviderは、最初の生成にのみ必要です。 後続の世代のマッピングは、 を介して EmitBaseline引き継がされます。 コンパイラは、ソース コードに表示される順序に、名前付きローカル変数 (名前付き一時変数を含む) にスロットを割り当てます。 このプロパティを使用すると、コンパイラは初期生成のためにローカル変数マッピングを再構築できます。 後続の世代では、前の世代の 2 つの変数の間に新しい変数を追加できます。 前の世代の変数のスロットを保持する必要があるため、これらの新しい変数を最後に追加する唯一のオプションがあります。 そのため、スロットの順序は構文の順序と一致しなくなります。 そのため、次の世代に渡す Baseline 必要があります (たとえば、後続のコンパイルによって生成されたメタデータに基づいて新しい EmitBaselineをゼロから作成する場合など)。

適用対象

CreateInitialBaseline(Compilation, ModuleMetadata, Func<MethodDefinitionHandle, EditAndContinueMethodDebugInformation>, Func<MethodDefinitionHandle, StandaloneSignatureHandle>, Boolean)

Source:
EmitBaseline.cs

EmitBaseline編集する前にモジュールのメタデータから を作成し、メソッドからローカル名の配列にマップする関数から を作成します。

public static Microsoft.CodeAnalysis.Emit.EmitBaseline CreateInitialBaseline (Microsoft.CodeAnalysis.Compilation compilation, Microsoft.CodeAnalysis.ModuleMetadata module, Func<System.Reflection.Metadata.MethodDefinitionHandle,Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> debugInformationProvider, Func<System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.Metadata.StandaloneSignatureHandle> localSignatureProvider, bool hasPortableDebugInformation);
static member CreateInitialBaseline : Microsoft.CodeAnalysis.Compilation * Microsoft.CodeAnalysis.ModuleMetadata * Func<System.Reflection.Metadata.MethodDefinitionHandle, Microsoft.CodeAnalysis.Emit.EditAndContinueMethodDebugInformation> * Func<System.Reflection.Metadata.MethodDefinitionHandle, System.Reflection.Metadata.StandaloneSignatureHandle> * bool -> Microsoft.CodeAnalysis.Emit.EmitBaseline
Public Shared Function CreateInitialBaseline (compilation As Compilation, module As ModuleMetadata, debugInformationProvider As Func(Of MethodDefinitionHandle, EditAndContinueMethodDebugInformation), localSignatureProvider As Func(Of MethodDefinitionHandle, StandaloneSignatureHandle), hasPortableDebugInformation As Boolean) As EmitBaseline

パラメーター

compilation
Compilation

初期 Microsoft.CodeAnalysis.Emit.EmitBaseline.Compilation

module
ModuleMetadata

編集前のモジュールのメタデータ。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

メソッド ハンドルの関数は、コンパイラによって PDB に出力されたエディット コンティニュデバッグ情報を返します。 指定したメソッドのデバッグ情報を読み取ることができない場合、関数は をスロー InvalidDataException します。 この例外と IOException はキャッチされ、出力診断に変換されます。 その他の例外はパススルーされます。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

メソッド ハンドルの関数は、そのローカル変数のシグネチャを返します。 指定したメソッドの情報を読み取ることができない場合、関数は をスロー InvalidDataException します。 この例外と IOException はキャッチされ、出力診断に変換されます。 その他の例外はパススルーされます。

hasPortableDebugInformation
Boolean

True の 場合、ベースライン PDB は移植可能です。

戻り値

EmitBaselineモジュールの 。

例外

localSignatureProvider が null です。

モジュール メタデータの読み取り中にエラーが発生しました。

モジュール メタデータが無効です。

モジュールが破棄されました。

注釈

このメソッドを使用して最初のベースラインのみが作成されます。後続のコンパイルで相違点を出力すると、後続のベースラインが自動的に作成されます。

アクティブなメソッド (スタックにフレームが割り当てられているメソッド) が更新されると、ローカル変数の値を保持する必要があります。 フレーム内のスロットへのローカル変数名のマッピングはメタデータに含まれていないため、 によって debugInformationProvider提供される必要があります。

debugInformationProviderは、最初の生成にのみ必要です。 後続の世代のマッピングは、 を介して EmitBaseline引き継がされます。 コンパイラは、ソース コードに表示される順序に、名前付きローカル変数 (名前付き一時変数を含む) にスロットを割り当てます。 このプロパティを使用すると、コンパイラは初期生成のためにローカル変数マッピングを再構築できます。 後続の世代では、前の世代の 2 つの変数の間に新しい変数を追加できます。 前の世代の変数のスロットを保持する必要があるため、これらの新しい変数を最後に追加する唯一のオプションがあります。 そのため、スロットの順序は構文の順序と一致しなくなります。 そのため、次の世代に渡す Baseline 必要があります (たとえば、後続のコンパイルによって生成されたメタデータに基づいて新しい EmitBaselineをゼロから作成する場合など)。

適用対象