共用方式為


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>)

來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
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>

方法句柄的函式會傳回編譯程序發出之 Edit and Continue 偵錯資訊到 PDB。 如果無法讀取指定方法的偵錯資訊,則函式會擲 InvalidDataException 回。 這個例外狀況會 IOException 攔截並轉換成發出診斷。 其他例外狀況會通過。

傳回

EmitBaseline模組的 。

屬性

例外狀況

module 不是 PE 映像。

debugInformationProvider 為 null。

讀取模組元數據時發生錯誤。

模組元數據無效。

已處置模組。

適用於

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

來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
EmitBaseline.cs
來源:
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>

方法句柄的函式會傳回編譯程序發出之 Edit and Continue 偵錯資訊到 PDB。 如果無法讀取指定方法的偵錯資訊,則函式會擲 InvalidDataException 回。 這個例外狀況會 IOException 攔截並轉換成發出診斷。 其他例外狀況會通過。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

方法句柄的函式會傳回其局部變數的簽章。 如果無法讀取指定方法的資訊,則此函式會擲 InvalidDataException 回。 這個例外狀況會 IOException 攔截並轉換成發出診斷。 其他例外狀況會通過。

hasPortableDebugInformation
Boolean

如果比較基準 PDB 是可攜式,則為 True。

傳回

EmitBaseline模組的 。

屬性

例外狀況

localSignatureProvider 為 null。

讀取模組元數據時發生錯誤。

模組元數據無效。

已處置模組。

備註

只有使用此方法建立初始基準;後續基準會在發出後續編譯的差異時自動建立。

當作用中方法 (堆疊上配置框架) 更新其局部變數的值時,必須保留其局部變數的值。 本機變數名稱與其框架中位置的對應不會包含在元數據中,因此必須由 debugInformationProvider提供。

debugInformationProvider只有初始產生時才需要 。 後續世代的對應會透過 EmitBaseline傳遞。 編譯程式會將位置指派給具名局部變數, (包括具名暫存變數) 它們出現在原始程式碼中的順序。 這個屬性可讓編譯程式重新建構初始產生的局部變數對應。 後續世代可能會在上一代的兩個變數之間新增變數。 由於前一代變數的位置必須保留,唯一的選項是將這些新變數新增至結尾。 因此,位置順序不再符合語法排序。 因此,您必須傳遞 Baseline 至下一代 (,而不是根據後續編譯所產生的元數據,從頭開始建立新的 EmitBaseline) 。

適用於

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

來源:
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>

方法句柄的函式會傳回編譯程序發出之 Edit and Continue 偵錯資訊到 PDB。 如果無法讀取指定方法的偵錯資訊,則函式會擲 InvalidDataException 回。 這個例外狀況會 IOException 攔截並轉換成發出診斷。 其他例外狀況會通過。

localSignatureProvider
Func<MethodDefinitionHandle,StandaloneSignatureHandle>

方法句柄的函式會傳回其局部變數的簽章。 如果無法讀取指定方法的資訊,則此函式會擲 InvalidDataException 回。 這個例外狀況會 IOException 攔截並轉換成發出診斷。 其他例外狀況會通過。

hasPortableDebugInformation
Boolean

如果比較基準 PDB 是可攜式,則為 True。

傳回

EmitBaseline模組的 。

例外狀況

localSignatureProvider 為 null。

讀取模組元數據時發生錯誤。

模組元數據無效。

已處置模組。

備註

只有使用此方法建立初始基準;後續基準會在發出後續編譯的差異時自動建立。

當作用中方法 (堆疊上配置框架) 更新其局部變數的值時,必須保留其局部變數的值。 本機變數名稱與其框架中位置的對應不會包含在元數據中,因此必須由 debugInformationProvider提供。

debugInformationProvider只有初始產生時才需要 。 後續世代的對應會透過 EmitBaseline傳遞。 編譯程式會將位置指派給具名局部變數, (包括具名暫存變數) 它們出現在原始程式碼中的順序。 這個屬性可讓編譯程式重新建構初始產生的局部變數對應。 後續世代可能會在上一代的兩個變數之間新增變數。 由於前一代變數的位置必須保留,唯一的選項是將這些新變數新增至結尾。 因此,位置順序不再符合語法排序。 因此,您必須傳遞 Baseline 至下一代 (,而不是根據後續編譯所產生的元數據,從頭開始建立新的 EmitBaseline) 。

適用於