EmitBaseline.CreateInitialBaseline 方法

定义

重载

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>)
已过时.

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

CreateInitialBaseline(ModuleMetadata, Func<MethodDefinitionHandle, EditAndContinueMethodDebugInformation>, Func<MethodDefinitionHandle, StandaloneSignatureHandle>, Boolean)
已过时.

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

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

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

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

注意

This overload is no longer supported

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

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

参数

module
ModuleMetadata

编辑前模块的元数据。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

方法句柄的函数将编译器发出的“编辑并继续”调试信息返回到 PDB 中。 如果无法读取指定方法的调试信息,函数应引发 InvalidDataException 。 此异常和 IOException 会被捕获并转换为发出诊断。 传递其他异常。

返回

EmitBaseline模块的 。

属性

例外

module 不是 PE 映像。

debugInformationProvider 为 null。

读取模块元数据时出错。

模块元数据无效。

模块已被释放。

适用于

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

注意

This overload is no longer supported

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

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

参数

module
ModuleMetadata

编辑前模块的元数据。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

方法句柄的函数将编译器发出的“编辑并继续”调试信息返回到 PDB 中。 如果无法读取指定方法的调试信息,函数应引发 InvalidDataException 。 此异常和 IOException 会被捕获并转换为发出诊断。 传递其他异常。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

方法句柄返回其局部变量的签名的函数。 如果无法读取指定方法的信息,函数应引发 InvalidDataException 。 此异常和 IOException 会被捕获并转换为发出诊断。 传递其他异常。

hasPortableDebugInformation
Boolean

如此 如果基线 PDB 是可移植的。

返回

EmitBaseline模块的 。

属性

例外

localSignatureProvider 为 null。

读取模块元数据时出错。

模块元数据无效。

模块已被释放。

注解

仅使用此方法创建初始基线;在发出后续编译的差异时,会自动创建后续基线。

当活动方法 (在堆栈上分配帧的方法) 更新时,需要保留其局部变量的值。 元数据中不包括本地变量名称到其槽的映射,因此需要由 debugInformationProvider提供。

debugInformationProvider仅在初始生成时需要 。 后续代系的映射通过 EmitBaseline传递。 编译器将槽分配给命名局部变量 (包括命名临时变量) 它们在源代码中的显示顺序。 此属性允许编译器为初始生成重新构造局部变量映射。 后续生成可以在上一代的两个变量之间添加新变量。 由于需要保留上一代变量的槽,因此唯一的选择是将这些新变量添加到末尾。 因此,槽排序不再与语法排序匹配。 因此,有必要传递给 Baseline 下一代 (而不是例如,基于后续编译) 生成的元数据从头开始创建新的 EmitBaseline

适用于

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

Source:
EmitBaseline.cs

EmitBaseline在编辑之前,从模块的元数据以及从方法映射到本地名称数组的函数创建 。

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

参数

compilation
Compilation

初始 Microsoft.CodeAnalysis.Emit.EmitBaseline.Compilation

module
ModuleMetadata

编辑前模块的元数据。

debugInformationProvider
Func<MethodDefinitionHandle,EditAndContinueMethodDebugInformation>

方法句柄的函数将编译器发出的“编辑并继续”调试信息返回到 PDB 中。 如果无法读取指定方法的调试信息,函数应引发 InvalidDataException 。 此异常和 IOException 会被捕获并转换为发出诊断。 传递其他异常。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

方法句柄返回其局部变量的签名的函数。 如果无法读取指定方法的信息,函数应引发 InvalidDataException 。 此异常和 IOException 会被捕获并转换为发出诊断。 传递其他异常。

hasPortableDebugInformation
Boolean

如此 如果基线 PDB 是可移植的。

返回

EmitBaseline模块的 。

例外

localSignatureProvider 为 null。

读取模块元数据时出错。

模块元数据无效。

模块已被释放。

注解

仅使用此方法创建初始基线;在发出后续编译的差异时,会自动创建后续基线。

当活动方法 (在堆栈上分配帧的方法) 更新时,需要保留其局部变量的值。 元数据中不包括本地变量名称到其槽的映射,因此需要由 debugInformationProvider提供。

debugInformationProvider仅在初始生成时需要 。 后续代系的映射通过 EmitBaseline传递。 编译器将槽分配给命名局部变量 (包括命名临时变量) 它们在源代码中的显示顺序。 此属性允许编译器为初始生成重新构造局部变量映射。 后续生成可以在上一代的两个变量之间添加新变量。 由于需要保留上一代变量的槽,因此唯一的选择是将这些新变量添加到末尾。 因此,槽排序不再与语法排序匹配。 因此,有必要传递给 Baseline 下一代 (而不是例如,基于后续编译) 生成的元数据从头开始创建新的 EmitBaseline

适用于