Обнаружение сведений о версии среды выполнения
Сведения о том, в какой версии среды выполнения было скомпилировано приложение или компонент, а также какие версии среды выполнения требуются для запуска приложения, хранятся в двух местах. После окончания компиляции приложения или компонента, сведения о версии среды выполнения, использованной для данной компиляции, хранятся в управляемом исполняемом файле. Сведения о требующихся приложению или компоненту версиях среды выполнения хранятся в файле конфигурации приложения.
Сведения о версии среды выполнения в управляемом исполняемом файле
Заголовок переносимого исполняемого файла (PE) каждого управляемого приложения и компонента содержит сведения о версии среды выполнения, в которой он был создан. Среда CLR использует эти сведения для того, чтобы определить версию среды выполнения, которая может потребоваться приложению для запуска.
Сведения о версии среды выполнения в файле конфигурации приложения
Кроме сведений, содержащихся в заголовке PE-файла, приложение может разворачиваться с использованием файла конфигурации приложения, в котором содержатся сведения о версии среды выполнения. Файл конфигурации приложения основан на XML, который создается разработчиком приложения и поставляется вместе с приложением. Этот файл указывает, какие версии среды выполнения и версии компонента поддерживаются приложением. Этот файл можно также использовать для тестирования совместимости приложения с разными версиями среды выполнения. Подробные сведения о том, как среда выполнения применяет файл конфигурации приложения для определения требующейся версии среды выполнения, см. в разделе Нацеливание на версию .NET Framework.
Неуправляемый код, включая приложения COM и COM+, может иметь файлы конфигурации приложения, используемые средой выполнения для взаимодействия с управляемым кодом. Файл конфигурации приложения влияет на управляемый код, активированный через COM. Файл может указывать версию среды выполнения, которую он поддерживает, а также перенаправление сборок. По умолчанию приложения COM-взаимодействия при вызове управляемого кода используют самую новую из установленных на компьютере версий среды выполнения.