Compartilhar via


MetadataReference.CreateFromFile Método

Definição

Cria uma referência a um assembly ou módulo autônomo armazenado em um arquivo. Lê o conteúdo do arquivo na memória.

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

Parâmetros

path
String

Caminho para o arquivo de assembly.

properties
MetadataReferenceProperties

Propriedades de referência (aliases extern, inserção de tipo, MetadataImageKind).

documentation
DocumentationProvider

Fornece a documentação XML para o símbolo encontrado na referência.

Retornos

Exceções

path é nulo.

path é inválido.

Ocorreu um erro ao ler o arquivo.

Comentários

Considerações sobre desempenho:

É recomendável usar CreateFromFile(String) ou CreateFromFile(String) API ao criar várias referências ao mesmo arquivo. Reutilizando Metadata o objeto permite o compartilhamento de dados entre essas referências.

O método lê ansiosamente todo o conteúdo do arquivo em heap nativo. O bloco de memória nativa é liberado quando a referência resultante se torna inacessível e o GC o coleta. Para diminuir o volume de memória da referência e/ou gerenciar o tempo de vida deterministicamente usado CreateFromFile(String) para criar um IDisposable objeto de metadados e GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) para obter uma referência a ele.

Aplica-se a