当我使用GetManifestResourceStream
从.NET程序集中检索嵌入式资源时,会涉及什么样的I/O操作?
我看到两种可能性:
.NET加载程序集时已将整个程序集放入内存中,因此
GetManifestResourceStream
只是访问内存。只有当.NET加载程序集时,代码部分才被放入内存,因此
GetManifestResourceStream
需要返回到.dll
文件以提取嵌入的资源。
我很确定第一种情况是正确的,特别是因为可以使用Assembly.Load(Byte[])
从原始数据以动态方式加载程序集。但是如果嵌入了非常大的文件(比如几个GB),第二种可能性可能更有效。大小是否有影响?
只是挑战一些长期以来的假设,没有找到太多相关参考资料。