Поиск файлов сборок

Контексты активации могут помочь загрузчику найти файлы сборок. Когда загрузчик ищет файл для загрузки по имени, сначала выполняет поиск файлов с указанным именем, на которые ссылается сборки, которые являются членами активного контекста активации. Вызов SearchPath также сначала находит эти файлы. Файлы с указанным именем и текущим контекстом активации находятся и загружаются перед файлами с именем в локальном каталоге или в переменной среды PATH. Это означает, что при создании манифестов необходимо перечислить все файлы, которые планируется использовать с SearchPath, LoadLibrary или статическими импортами.

Обратите внимание, что эти файлы не находятся автоматически при использовании CreateFile или других функций, которые не ищут файлы. Чтобы использовать эти файлы с CreateFile, сначала используйте SearchPath , чтобы найти путь к изолированному файлу, а затем использовать CreateFile в возвращаемом пути.

Этот метод поиска файлов помогает отделять изолированные приложения, так как несколько файлов с одинаковым именем могут отличаться только по их сопоставлению с сборками разных номеров версий. Операционная система может найти правильный файл для использования во время операций с файлами.

Если библиотека DLL загружается таким образом с помощью LoadLibrary, вызывается точка входа библиотеки DLL (DllMain), если исходный контекст активации остается активным, за исключением случаев, когда сама библиотека DLL содержит манифест по определенному идентификатору ресурса (ISOLATIONAWARE_MANIFEST_RESOURCE_ID или 2).