Когда я использую GetManifestResourceStream
для извлечения встроенного ресурса из сборки .NET, какой тип ввода-вывода задействован?
Я вижу две возможности:
-
Вся сборка уже была вставлена в память, когда .NET ее загрузил, поэтому
GetManifestResourceStream
просто обращается к памяти. -
Только часть кода сборки была помещена в память, когда сборка была загружена .NET, поэтому
GetManifestResourceStream
нужно вернуться к файлу.dll
, чтобы извлечь встроенный ресурс.
Я уверен, что это первый случай, особенно потому, что сборки могут динамически загружаться из необработанных данных с помощью Assembly.Load(Byte[])
. Но тогда мне интересно, что произойдет, если будет добавлен очень большой файл (скажем, несколько гигабайт) - второй вариант может быть более эффективным. Имеет ли значение размер?
Просто оспаривая некоторые давние предположения и не в состоянии найти много ссылок на это.