Compartir a través de


EmitBaseline.CreateInitialBaseline Método

Definición

Sobrecargas

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

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Precaución

This overload is no longer supported

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Parámetros

module
ModuleMetadata

Metadatos del módulo antes de editarlos.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Una función que para un identificador de método devuelve la información de edición y continuación de depuración emitida por el compilador en PDB. La función iniciará InvalidDataException si la información de depuración no se puede leer para el método especificado. Esta excepción y IOException se detectan y se convierten en un diagnóstico de emisión. Se pasan otras excepciones.

Devoluciones

para EmitBaseline el módulo.

Atributos

Excepciones

module no es una imagen pe.

debugInformationProvider es null.

Error al leer los metadatos del módulo.

Los metadatos del módulo no son válidos.

Se ha eliminado el módulo.

Se aplica a

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

Precaución

This overload is no longer supported

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Parámetros

module
ModuleMetadata

Metadatos del módulo antes de editarlos.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Una función que para un identificador de método devuelve la información de edición y continuación de depuración emitida por el compilador en PDB. La función iniciará InvalidDataException si la información de depuración no se puede leer para el método especificado. Esta excepción y IOException se detectan y se convierten en un diagnóstico de emisión. Se pasan otras excepciones.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Una función que para un identificador de método devuelve la firma de sus variables locales. La función iniciará InvalidDataException si la información no se puede leer para el método especificado. Esta excepción y IOException se detectan y se convierten en un diagnóstico de emisión. Se pasan otras excepciones.

hasPortableDebugInformation
Boolean

True si la base de referencia PDB es portátil.

Devoluciones

para EmitBaseline el módulo.

Atributos

Excepciones

localSignatureProvider es null.

Error al leer los metadatos del módulo.

Los metadatos del módulo no son válidos.

Se ha eliminado el módulo.

Comentarios

Solo se crea la línea base inicial con este método; Las líneas base posteriores se crean automáticamente al emitir las diferencias en compilaciones posteriores.

Cuando se actualiza un método activo (uno para el que se asigna un marco en una pila) se actualizan los valores de sus variables locales. La asignación de nombres de variables locales a sus ranuras en el marco no se incluye en los metadatos y, por tanto, debe proporcionarse mediante debugInformationProvider.

Solo debugInformationProvider es necesario para la generación inicial. La asignación de las generaciones posteriores se transfiere a través de EmitBaseline. El compilador asigna ranuras a variables locales con nombre (incluidas las variables temporales con nombre) en el orden en que aparecen en el código fuente. Esta propiedad permite al compilador reconstruir la asignación de variables locales para la generación inicial. Una generación posterior puede agregar una nueva variable entre dos variables de la generación anterior. Puesto que las ranuras de las variables de generación anterior deben conservarse, la única opción es agregar estas nuevas variables al final. El orden de ranuras ya no coincide con el orden de sintaxis. Por lo tanto, es necesario pasar Baseline a la próxima generación (en lugar de, por ejemplo, crear nuevos nuevos EmitBaselinedesde cero en función de los metadatos generados por compilaciones posteriores).

Se aplica a

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

Source:
EmitBaseline.cs

Crea un EmitBaseline objeto a partir de los metadatos del módulo antes de editar y desde una función que se asigna desde un método a una matriz de nombres locales.

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

Parámetros

compilation
Compilation

Inicial Microsoft.CodeAnalysis.Emit.EmitBaseline.Compilation.

module
ModuleMetadata

Metadatos del módulo antes de editarlos.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Una función que para un identificador de método devuelve la información de edición y continuación de depuración emitida por el compilador en PDB. La función iniciará InvalidDataException si la información de depuración no se puede leer para el método especificado. Esta excepción y IOException se detectan y se convierten en un diagnóstico de emisión. Se pasan otras excepciones.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Una función que para un identificador de método devuelve la firma de sus variables locales. La función iniciará InvalidDataException si la información no se puede leer para el método especificado. Esta excepción y IOException se detectan y se convierten en un diagnóstico de emisión. Se pasan otras excepciones.

hasPortableDebugInformation
Boolean

True si la base de referencia PDB es portátil.

Devoluciones

para EmitBaseline el módulo.

Excepciones

localSignatureProvider es null.

Error al leer los metadatos del módulo.

Los metadatos del módulo no son válidos.

Se ha eliminado el módulo.

Comentarios

Solo se crea la línea base inicial con este método; Las líneas base posteriores se crean automáticamente al emitir las diferencias en compilaciones posteriores.

Cuando se actualiza un método activo (uno para el que se asigna un marco en una pila) se actualizan los valores de sus variables locales. La asignación de nombres de variables locales a sus ranuras en el marco no se incluye en los metadatos y, por tanto, debe proporcionarse mediante debugInformationProvider.

Solo debugInformationProvider es necesario para la generación inicial. La asignación de las generaciones posteriores se transfiere a través de EmitBaseline. El compilador asigna ranuras a variables locales con nombre (incluidas las variables temporales con nombre) en el orden en que aparecen en el código fuente. Esta propiedad permite al compilador reconstruir la asignación de variables locales para la generación inicial. Una generación posterior puede agregar una nueva variable entre dos variables de la generación anterior. Puesto que las ranuras de las variables de generación anterior deben conservarse, la única opción es agregar estas nuevas variables al final. El orden de ranuras ya no coincide con el orden de sintaxis. Por lo tanto, es necesario pasar Baseline a la próxima generación (en lugar de, por ejemplo, crear nuevos nuevos EmitBaselinedesde cero en función de los metadatos generados por compilaciones posteriores).

Se aplica a