EmitBaseline.CreateInitialBaseline Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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>)
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- 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)
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- EmitBaseline.cs
- Origem:
- 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)
- Origem:
- EmitBaseline.cs
- Origem:
- 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).