Partilhar via


EmitBaseline.CreateInitialBaseline Método

Definição

Sobrecargas

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

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Cuidado

This overload is no longer supported

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Os metadados do módulo antes da edição.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Uma função que para um identificador de método retorna informações de depuração Editar e Continuar emitidas pelo compilador no PDB. A função será gerada InvalidDataException se as informações de depuração não puderem ser lidas para o método especificado. Essa exceção e IOException são capturados e convertidos em um diagnóstico de emissão. Outras exceções são passadas.

Retornos

Um EmitBaseline para o módulo.

Atributos

Exceções

module não é uma imagem PE.

debugInformationProvider é nulo.

Erro ao ler metadados do módulo.

Os metadados do módulo são inválidos.

O módulo foi descartado.

Aplica-se 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

Cuidado

This overload is no longer supported

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Os metadados do módulo antes da edição.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Uma função que para um identificador de método retorna informações de depuração Editar e Continuar emitidas pelo compilador no PDB. A função será gerada InvalidDataException se as informações de depuração não puderem ser lidas para o método especificado. Essa exceção e IOException são capturados e convertidos em um diagnóstico de emissão. Outras exceções são passadas.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Uma função que para um identificador de método retorna a assinatura de suas variáveis locais. A função será gerada InvalidDataException se as informações não puderem ser lidas para o método especificado. Essa exceção e IOException são capturados e convertidos em um diagnóstico de emissão. Outras exceções são passadas.

hasPortableDebugInformation
Boolean

True se o PDB de linha de base for portátil.

Retornos

Um EmitBaseline para o módulo.

Atributos

Exceções

localSignatureProvider é nulo.

Erro ao ler metadados do módulo.

Os metadados do módulo são inválidos.

O módulo foi descartado.

Comentários

Somente a linha de base inicial é criada usando esse método; as linhas de base subsequentes são criadas automaticamente ao emitir as diferenças nas compilações subsequentes.

Quando um método ativo (um para o qual um quadro é alocado em uma pilha) é atualizado, os valores de suas variáveis locais precisam ser preservados. O mapeamento de nomes de variáveis locais para seus slots no quadro não está incluído nos metadados e, portanto, precisa ser fornecido por debugInformationProvider.

O debugInformationProvider só é necessário para a geração inicial. O mapeamento para as gerações subsequentes é realizado por meio de EmitBaseline. O compilador atribui slots a variáveis locais nomeadas (incluindo variáveis temporárias nomeadas) a ordem em que aparecem no código-fonte. Essa propriedade permite que o compilador reconstrua o mapeamento de variável local para a geração inicial. Uma geração subsequente pode adicionar uma nova variável entre duas variáveis da geração anterior. Como os slots das variáveis de geração anterior precisam ser preservados, a única opção é adicionar essas novas variáveis ao final. Assim, a ordenação de slot não corresponde mais à ordenação de sintaxe. Portanto, é necessário passar Baseline para a próxima geração (em vez de, por exemplo, criar novos EmitBaselines do zero com base nos metadados produzidos por compilações subsequentes).

Aplica-se a

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

Source:
EmitBaseline.cs

Cria um EmitBaseline dos metadados do módulo antes da edição e de uma função que mapeia de um método para uma matriz de nomes locais.

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

Os metadados do módulo antes da edição.

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

Uma função que para um identificador de método retorna informações de depuração Editar e Continuar emitidas pelo compilador no PDB. A função será gerada InvalidDataException se as informações de depuração não puderem ser lidas para o método especificado. Essa exceção e IOException são capturados e convertidos em um diagnóstico de emissão. Outras exceções são passadas.

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

Uma função que para um identificador de método retorna a assinatura de suas variáveis locais. A função será gerada InvalidDataException se as informações não puderem ser lidas para o método especificado. Essa exceção e IOException são capturados e convertidos em um diagnóstico de emissão. Outras exceções são passadas.

hasPortableDebugInformation
Boolean

True se o PDB de linha de base for portátil.

Retornos

Um EmitBaseline para o módulo.

Exceções

localSignatureProvider é nulo.

Erro ao ler metadados do módulo.

Os metadados do módulo são inválidos.

O módulo foi descartado.

Comentários

Somente a linha de base inicial é criada usando esse método; as linhas de base subsequentes são criadas automaticamente ao emitir as diferenças nas compilações subsequentes.

Quando um método ativo (um para o qual um quadro é alocado em uma pilha) é atualizado, os valores de suas variáveis locais precisam ser preservados. O mapeamento de nomes de variáveis locais para seus slots no quadro não está incluído nos metadados e, portanto, precisa ser fornecido por debugInformationProvider.

O debugInformationProvider só é necessário para a geração inicial. O mapeamento para as gerações subsequentes é realizado por meio de EmitBaseline. O compilador atribui slots a variáveis locais nomeadas (incluindo variáveis temporárias nomeadas) a ordem em que aparecem no código-fonte. Essa propriedade permite que o compilador reconstrua o mapeamento de variável local para a geração inicial. Uma geração subsequente pode adicionar uma nova variável entre duas variáveis da geração anterior. Como os slots das variáveis de geração anterior precisam ser preservados, a única opção é adicionar essas novas variáveis ao final. Assim, a ordenação de slot não corresponde mais à ordenação de sintaxe. Portanto, é necessário passar Baseline para a próxima geração (em vez de, por exemplo, criar novos EmitBaselines do zero com base nos metadados produzidos por compilações subsequentes).

Aplica-se a