MetadataReference.CreateFromStream Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma referência a um assembly de módulo único ou a um módulo autônomo a partir de dados no fluxo especificado. Lê o conteúdo do fluxo na memória e fecha o fluxo após o retorno.
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider documentation = default, string filePath = default);
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider? documentation = default, string? filePath = default);
static member CreateFromStream : System.IO.Stream * Microsoft.CodeAnalysis.MetadataReferenceProperties * Microsoft.CodeAnalysis.DocumentationProvider * string -> Microsoft.CodeAnalysis.PortableExecutableReference
Public Shared Function CreateFromStream (peStream As Stream, Optional properties As MetadataReferenceProperties = Nothing, Optional documentation As DocumentationProvider = Nothing, Optional filePath As String = Nothing) As PortableExecutableReference
Parâmetros
- peStream
- Stream
Imagem do 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.
- filePath
- String
Caminho opcional que descreve o local dos metadados. O arquivo não precisa existir no disco. O caminho é opaco para o compilador.
Retornos
Exceções
peStream
não é compatível com as operações de leitura e busca.
peStream
é nulo.
Erro ao ler o fluxo.
Comentários
Considerações sobre desempenho:
É recomendável usar CreateFromStream(Stream, PEStreamOptions) ou CreateFromStream(Stream, PEStreamOptions) API ao criar várias referências aos mesmos metadados. Reutilizando Metadata o objeto para criar várias referências permite o compartilhamento de dados entre essas referências.
O método lê ansiosamente todo o conteúdo do peStream
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 CreateFromStream(Stream, PEStreamOptions) para criar um IDisposable objeto de metadados e GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) para obter uma referência a ele.