Condividi tramite


MetadataReference.CreateFromStream Metodo

Definizione

Crea un riferimento a un assembly a modulo singolo o a un modulo autonomo dai dati nel flusso specificato. Legge il contenuto del flusso in memoria e chiude il flusso al momento della restituzione.

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

Parametri

peStream
Stream

Immagine dell'assembly.

properties
MetadataReferenceProperties

Proprietà di riferimento (alias extern, incorporamento dei tipi, MetadataImageKind).

documentation
DocumentationProvider

Fornisce la documentazione XML per il simbolo trovato nel riferimento.

filePath
String

Percorso facoltativo che descrive la posizione dei metadati. Il file non deve esistere su disco. Il percorso è opaco al compilatore.

Restituisce

Eccezioni

peStream non supporta le operazioni read (lettura) e seek (ricerca).

peStream è null.

Errore durante la lettura del flusso.

Commenti

Considerazioni sulle prestazioni:

È consigliabile usare o CreateFromStream(Stream, PEStreamOptions) API CreateFromStream(Stream, PEStreamOptions) quando si creano più riferimenti agli stessi metadati. Il riutilizzo dell'oggetto Metadata per creare più riferimenti consente di condividere i dati tra questi riferimenti.

Il metodo legge con entusiasmo l'intero contenuto di peStream nell'heap nativo. Il blocco di memoria nativa viene rilasciato quando il riferimento risultante diventa non raggiungibile e GC lo raccoglie. Per ridurre il footprint di memoria del riferimento e/o gestire la durata in modo deterministico, usare CreateFromStream(Stream, PEStreamOptions) per creare un IDisposable oggetto metadati e GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) ottenere un riferimento.

Si applica a