MetadataReference.CreateFromStream 方法

定义

从指定流中的数据创建对单模块程序集或独立模块的引用。 将流的内容读取到内存中,并在返回时关闭流。

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

参数

peStream
Stream

程序集映像。

properties
MetadataReferenceProperties

引用属性 (外部别名、类型嵌入、 MetadataImageKind) 。

documentation
DocumentationProvider

为在引用中找到的符号提供 XML 文档。

filePath
String

描述元数据位置的可选路径。 该文件不需要存在于磁盘上。 路径对编译器不透明。

返回

例外

peStream 不支持读取和查找操作。

peStream 为 null。

读取流时出错。

注解

性能注意事项:

建议在创建对同一元数据的多个引用时使用 CreateFromStream(Stream, PEStreamOptions)CreateFromStream(Stream, PEStreamOptions) API。 Metadata重用对象创建多个引用允许跨这些引用共享数据。

该方法会急切地将整个内容 peStream 读入本机堆。 当生成的引用无法访问并且 GC 收集它时,将释放本机内存块。 若要减少引用的内存占用,/或管理生存期确定性地用于 CreateFromStream(Stream, PEStreamOptions) 创建 IDisposable 元数据对象并 GetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String) 获取对它的引用。

适用于