Compartir a través de


MetadataReference.CreateFromStream Método

Definición

Crea una referencia a un ensamblado de un solo módulo o a un módulo independiente a partir de los datos de la secuencia especificada. Lee el contenido de la secuencia en memoria y cierra la secuencia al devolverla.

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

Imagen de ensamblado.

properties
MetadataReferenceProperties

Propiedades de referencia (alias de extern, inserción de tipos, MetadataImageKind).

documentation
DocumentationProvider

Proporciona documentación XML para el símbolo que se encuentra en la referencia.

filePath
String

Ruta de acceso opcional que describe la ubicación de los metadatos. El archivo no necesita existir en el disco. La ruta de acceso es opaca para el compilador.

Devoluciones

Excepciones

peStream no admite las operaciones de lectura y búsqueda.

peStream es null.

Error al leer la secuencia.

Comentarios

Consideraciones de rendimiento:

Se recomienda usar CreateFromStream(Stream, PEStreamOptions) o CreateFromStream(Stream, PEStreamOptions) la API al crear varias referencias a los mismos metadatos. La reutilización del Metadata objeto para crear varias referencias permite compartir datos entre estas referencias.

El método lee diligentemente todo el contenido de peStream en el montón nativo. El bloque de memoria nativa se libera cuando la referencia resultante deja de ser accesible y GC la recopila. Para reducir la superficie de memoria de la referencia o administrar la duración deterministamente, use CreateFromStream(Stream, PEStreamOptions) para crear un IDisposable objeto de metadatos y GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) obtener una referencia a él.

Se aplica a