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>
Функция, которая для дескриптора метода возвращает отладочную информацию о редактировании и продолжении, выдаваемую компилятором в 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>
Функция, которая для дескриптора метода возвращает отладочную информацию о редактировании и продолжении, выдаваемую компилятором в PDB. Функция должна вызывать исключение InvalidDataException , если отладочная информация не может быть прочитана для указанного метода. Это исключение и IOException перехватываются и преобразуются в диагностику выдачи. Передаются другие исключения.
- localSignatureProvider
- Func<MethodDefinitionHandle,StandaloneSignatureHandle>
Функция, которая для дескриптора метода возвращает сигнатуру локальных переменных. Функция должна вызывать исключение InvalidDataException , если данные не могут быть прочитаны для указанного метода. Это исключение и IOException перехватываются и преобразуются в диагностику выдачи. Передаются другие исключения.
- hasPortableDebugInformation
- Boolean
Значение true, если базовый PDB-файл является переносимым.
Возвращаемое значение
Объект 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>
Функция, которая для дескриптора метода возвращает отладочную информацию о редактировании и продолжении, выдаваемую компилятором в PDB. Функция должна вызывать исключение InvalidDataException , если отладочная информация не может быть прочитана для указанного метода. Это исключение и IOException перехватываются и преобразуются в диагностику выдачи. Передаются другие исключения.
- localSignatureProvider
- Func<MethodDefinitionHandle,StandaloneSignatureHandle>
Функция, которая для дескриптора метода возвращает сигнатуру локальных переменных. Функция должна вызывать исключение InvalidDataException , если данные не могут быть прочитаны для указанного метода. Это исключение и IOException перехватываются и преобразуются в диагностику выдачи. Передаются другие исключения.
- hasPortableDebugInformation
- Boolean
Значение true, если базовый PDB-файл является переносимым.
Возвращаемое значение
Объект EmitBaseline для модуля.
Исключения
Параметр localSignatureProvider
имеет значение null.
Ошибка при чтении метаданных модуля.
Недопустимые метаданные модуля.
Модуль удален.
Комментарии
С помощью этого метода создается только начальная базовая база; последующие базовые показатели создаются автоматически при создании различий в последующих компиляциях.
При обновлении активного метода (для которого кадр выделен в стеке) необходимо сохранить значения его локальных переменных. Сопоставление имен локальных переменных с их слотами в кадре не включается в метаданные и поэтому должно быть предоставлено .debugInformationProvider
Требуется debugInformationProvider
только для первоначального создания. Сопоставление для последующих поколений осуществляется через EmitBaseline. Компилятор назначает слоты именованным локальным переменным (включая именованные временные переменные) в порядке, в котором они отображаются в исходном коде. Это свойство позволяет компилятору воссоздать сопоставление локальных переменных для первоначального создания. Последующее поколение может добавить новую переменную между двумя переменными предыдущего поколения. Так как слоты переменных предыдущего поколения должны быть сохранены, единственным вариантом является добавление этих новых переменных в конец. Таким образом, порядок слотов больше не соответствует упорядочению синтаксиса. Поэтому необходимо передать Baseline в следующее поколение (а не создавать новые EmitBaselineс нуля на основе метаданных, полученных в последующих компиляциях).