Поделиться через


MetadataReference.CreateFromFile Метод

Определение

Создает ссылку на сборку или автономный модуль, хранящийся в файле. Считывает содержимое файла в память.

public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromFile (string path, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider documentation = default);
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromFile (string path, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider? documentation = default);
static member CreateFromFile : string * Microsoft.CodeAnalysis.MetadataReferenceProperties * Microsoft.CodeAnalysis.DocumentationProvider -> Microsoft.CodeAnalysis.PortableExecutableReference
Public Shared Function CreateFromFile (path As String, Optional properties As MetadataReferenceProperties = Nothing, Optional documentation As DocumentationProvider = Nothing) As PortableExecutableReference

Параметры

path
String

Путь к файлу сборки.

properties
MetadataReferenceProperties

Ссылочные свойства (псевдонимы extern, внедрение типов, MetadataImageKind).

documentation
DocumentationProvider

Предоставляет XML-документацию по символам, найденным в ссылке.

Возвращаемое значение

Исключения

Параметр path имеет значение null.

path недопустим.

Произошла ошибка при чтении файла.

Комментарии

Вопросы производительности:

Рекомендуется использовать CreateFromFile(String) или CreateFromFile(String) API при создании нескольких ссылок на один файл. Повторное использование Metadata объекта позволяет совместно использовать данные между этими ссылками.

Метод с нетерпением считывает все содержимое файла в собственную кучу. Собственный блок памяти освобождается, когда результирующая ссылка становится недоступной, и сборщик мусора собирает его. Чтобы уменьшить объем памяти ссылки и (или) управлять временем существования детерминированным способом использования CreateFromFile(String) для создания IDisposable объекта метаданных и GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) получения ссылки на него.

Применяется к