Freigeben über


EmitBaseline.CreateInitialBaseline Methode

Definition

Überlädt

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>)
Veraltet.

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

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

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

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

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>)

Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs

Achtung

This overload is no longer supported

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

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

Parameter

module
ModuleMetadata

Die Metadaten des Moduls vor der Bearbeitung.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Eine Funktion, die für ein Methodenhandle vom Compiler ausgegebene Debuginformationen Edit and Continue in den PDB zurückgibt. Die Funktion wird ausgelöst InvalidDataException , wenn die Debuginformationen für die angegebene Methode nicht gelesen werden können. Diese Ausnahme und IOException werden abgefangen und in eine Ausgabediagnose konvertiert. Andere Ausnahmen werden übergeben.

Gibt zurück

Ein EmitBaseline für das Modul.

Attribute

Ausnahmen

module ist kein PE-Image.

debugInformationProvider ist NULL.

Fehler beim Lesen von Modulmetadaten.

Modulmetadaten sind ungültig.

Das Modul wurde verworfen.

Gilt für:

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

Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs

Achtung

This overload is no longer supported

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

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

Parameter

module
ModuleMetadata

Die Metadaten des Moduls vor der Bearbeitung.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Eine Funktion, die für ein Methodenhandle vom Compiler ausgegebene Debuginformationen Edit and Continue in den PDB zurückgibt. Die Funktion wird ausgelöst InvalidDataException , wenn die Debuginformationen für die angegebene Methode nicht gelesen werden können. Diese Ausnahme und IOException werden abgefangen und in eine Ausgabediagnose konvertiert. Andere Ausnahmen werden übergeben.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Eine Funktion, die für ein Methodenhandle die Signatur der lokalen Variablen zurückgibt. Die Funktion wird ausgelöst InvalidDataException , wenn die Informationen für die angegebene Methode nicht gelesen werden können. Diese Ausnahme und IOException werden abgefangen und in eine Ausgabediagnose konvertiert. Andere Ausnahmen werden übergeben.

hasPortableDebugInformation
Boolean

True, wenn die Basis-PDB portierbar ist.

Gibt zurück

Ein EmitBaseline für das Modul.

Attribute

Ausnahmen

localSignatureProvider ist NULL.

Fehler beim Lesen von Modulmetadaten.

Modulmetadaten sind ungültig.

Das Modul wurde verworfen.

Hinweise

Mit dieser Methode wird nur die anfängliche Baseline erstellt. Nachfolgende Baselines werden automatisch erstellt, wenn die Unterschiede in nachfolgenden Kompilierungen angegeben werden.

Wenn eine aktive Methode (eine Methode, für die ein Frame in einem Stapel zugeordnet ist) aktualisiert wird, müssen die Werte ihrer lokalen Variablen beibehalten werden. Die Zuordnung von lokalen Variablennamen zu ihren Slots im Frame ist nicht in den Metadaten enthalten und muss daher von debugInformationProviderbereitgestellt werden.

Wird debugInformationProvider nur für die anfängliche Generierung benötigt. Die Zuordnung für die nachfolgenden Generationen wird über EmitBaselineübernommen. Der Compiler weist benannten lokalen Variablen (einschließlich benannter temporärer Variablen) Slots in der Reihenfolge zu, in der sie im Quellcode angezeigt werden. Mit dieser Eigenschaft kann der Compiler die Zuordnung lokaler Variablen für die anfängliche Generierung rekonstruieren. Eine nachfolgende Generation kann eine neue Variable zwischen zwei Variablen der vorherigen Generation hinzufügen. Da die Slots der vorherigen Generation beibehalten werden müssen, besteht die einzige Möglichkeit darin, diese neuen Variablen am Ende hinzuzufügen. Die Slotreihenfolge entspricht somit nicht mehr der Syntaxreihenfolge. Es ist daher notwendig, an die nächste Generation zu übergeben Baseline (anstatt z.B. neue EmitBaselines von Grund auf neu zu erstellen, basierend auf Metadaten, die durch nachfolgende Kompilierungen erstellt werden).

Gilt für:

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

Quelle:
EmitBaseline.cs
Quelle:
EmitBaseline.cs

Erstellt eine EmitBaseline aus den Metadaten des Moduls vor der Bearbeitung und aus einer Funktion, die von einer Methode einem Array lokaler Namen zugeordnet wird.

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

Parameter

compilation
Compilation

Anfängliches Microsoft.CodeAnalysis.Emit.EmitBaseline.Compilation.

module
ModuleMetadata

Die Metadaten des Moduls vor der Bearbeitung.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Eine Funktion, die für ein Methodenhandle vom Compiler ausgegebene Debuginformationen Edit and Continue in den PDB zurückgibt. Die Funktion wird ausgelöst InvalidDataException , wenn die Debuginformationen für die angegebene Methode nicht gelesen werden können. Diese Ausnahme und IOException werden abgefangen und in eine Ausgabediagnose konvertiert. Andere Ausnahmen werden übergeben.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Eine Funktion, die für ein Methodenhandle die Signatur der lokalen Variablen zurückgibt. Die Funktion wird ausgelöst InvalidDataException , wenn die Informationen für die angegebene Methode nicht gelesen werden können. Diese Ausnahme und IOException werden abgefangen und in eine Ausgabediagnose konvertiert. Andere Ausnahmen werden übergeben.

hasPortableDebugInformation
Boolean

True, wenn die Basis-PDB portierbar ist.

Gibt zurück

Ein EmitBaseline für das Modul.

Ausnahmen

localSignatureProvider ist NULL.

Fehler beim Lesen von Modulmetadaten.

Modulmetadaten sind ungültig.

Das Modul wurde verworfen.

Hinweise

Mit dieser Methode wird nur die anfängliche Baseline erstellt. Nachfolgende Baselines werden automatisch erstellt, wenn die Unterschiede in nachfolgenden Kompilierungen angegeben werden.

Wenn eine aktive Methode (eine Methode, für die ein Frame in einem Stapel zugeordnet ist) aktualisiert wird, müssen die Werte ihrer lokalen Variablen beibehalten werden. Die Zuordnung von lokalen Variablennamen zu ihren Slots im Frame ist nicht in den Metadaten enthalten und muss daher von debugInformationProviderbereitgestellt werden.

Wird debugInformationProvider nur für die anfängliche Generierung benötigt. Die Zuordnung für die nachfolgenden Generationen wird über EmitBaselineübernommen. Der Compiler weist benannten lokalen Variablen (einschließlich benannter temporärer Variablen) Slots in der Reihenfolge zu, in der sie im Quellcode angezeigt werden. Mit dieser Eigenschaft kann der Compiler die Zuordnung lokaler Variablen für die anfängliche Generierung rekonstruieren. Eine nachfolgende Generation kann eine neue Variable zwischen zwei Variablen der vorherigen Generation hinzufügen. Da die Slots der vorherigen Generation beibehalten werden müssen, besteht die einzige Möglichkeit darin, diese neuen Variablen am Ende hinzuzufügen. Die Slotreihenfolge entspricht somit nicht mehr der Syntaxreihenfolge. Es ist daher notwendig, an die nächste Generation zu übergeben Baseline (anstatt z.B. neue EmitBaselines von Grund auf neu zu erstellen, basierend auf Metadaten, die durch nachfolgende Kompilierungen erstellt werden).

Gilt für: