Freigeben über


MetadataReference.CreateFromStream Methode

Definition

Erstellt einen Verweis auf eine Einzelmodulassembly oder ein eigenständiges Modul aus Daten im angegebenen Datenstrom. Liest den Inhalt des Datenstroms in den Arbeitsspeicher und schließt den Datenstrom nach der Rückgabe.

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

Parameter

peStream
Stream

Assemblyimage.

properties
MetadataReferenceProperties

Referenzeigenschaften (externe Aliase, Typeinbettung, MetadataImageKind).

documentation
DocumentationProvider

Stellt die XML-Dokumentation für Symbole bereit, die in der Referenz gefunden werden.

filePath
String

Optionaler Pfad, der den Speicherort der Metadaten beschreibt. Die Datei muss nicht auf dem Datenträger vorhanden sein. Der Pfad ist für den Compiler undurchsichtig.

Gibt zurück

Ausnahmen

peStream unterstützt keine Lese- und Suchvorgänge.

peStream ist NULL.

Fehler beim Lesen des Datenstroms.

Hinweise

Leistungsaspekte:

Es wird empfohlen, beim Erstellen mehrerer Verweise auf dieselben Metadaten mehrere Verweise oder API zu verwenden CreateFromStream(Stream, PEStreamOptions)CreateFromStream(Stream, PEStreamOptions) . Das Erneute Verwenden eines Metadata Objekts zum Erstellen mehrerer Verweise ermöglicht die Freigabe von Daten über diese Verweise hinweg.

Die Methode liest den gesamten Inhalt des peStream systemeigenen Heaps eifrig vor. Der systemeigene Speicherblock wird freigegeben, wenn der resultierende Verweis nicht mehr erreichbar ist und GC es sammelt. Um den Speicherbedarf des Verweises zu verringern und/oder die Lebensdauer deterministisch CreateFromStream(Stream, PEStreamOptions) zu verwalten, um ein IDisposable Metadatenobjekt zu erstellen und GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) einen Verweis darauf zu erhalten.

Gilt für: