EmitBaseline.CreateInitialBaseline Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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 debugInformationProvider
bereitgestellt 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 debugInformationProvider
bereitgestellt 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).