MetadataReference.CreateFromStream Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a reference to a single-module assembly or a stand-alone module from data in specified stream. Reads the content of the stream into memory and closes the stream upon return.
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
Parameters
- peStream
- Stream
Assembly image.
- properties
- MetadataReferenceProperties
Reference properties (extern aliases, type embedding, MetadataImageKind).
- documentation
- DocumentationProvider
Provides XML documentation for symbol found in the reference.
- filePath
- String
Optional path that describes the location of the metadata. The file doesn't need to exist on disk. The path is opaque to the compiler.
Returns
Exceptions
peStream
doesn't support read and seek operations.
peStream
is null.
An error occurred while reading the stream.
Remarks
Performance considerations:
It is recommended to use CreateFromStream(Stream, PEStreamOptions) or CreateFromStream(Stream, PEStreamOptions) API when creating multiple references to the same metadata. Reusing Metadata object to create multiple references allows for sharing data across these references.
The method eagerly reads the entire content of peStream
into native heap. The native memory block is released when the resulting reference becomes unreachable and GC collects it. To decrease memory footprint of the reference and/or manage the lifetime deterministically use CreateFromStream(Stream, PEStreamOptions) to create an IDisposable metadata object and GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) to get a reference to it.