Ответ 1
Да, используйте элемент <supportedRuntime>
в файле .exe.config. Например:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
У меня установлена среда выполнения .NET 2.0, затем я установил среду выполнения .NET 4.0, поэтому у меня есть и то, и другое. Когда я запускаю приложение .NET, есть ли способ принудительно использовать время выполнения?
Изменить/Разъяснение: Я имел в виду безрезультатно, как было создано приложение. Я исхожу из предположения, что среда выполнения .NET 4.0 может запускать .NET-программу, скомпилированную 5 лет назад, которая ориентирована на версию 2.0 (oldprogram.exe). Итак, теперь я нахожусь на машине с обеими версиями, которые могут обрабатывать oldprogram.exe. Какая среда исполнения выбрана? Могу ли я повлиять на то, какое время исполнения выбрано?
Да, используйте элемент <supportedRuntime>
в файле .exe.config. Например:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Посмотрите: Настройка перенаправления привязки сборки
По умолчанию приложения используют набор сборок .NET Framework, которые поставляются с версией времени исполнения, используемой для компиляции приложения. Вы можете использовать атрибут applyTo в элементе
<assemblyBinding>
в файле конфигурации приложения, чтобы перенаправить ссылки на привязку сборки к определенной версии сборок .NET Framework. Этот необязательный атрибут использует номер версии .NET Framework, чтобы указать, к какой версии он относится. Если атрибут applyTo не указан, элемент<assemblyBinding>
применяется ко всем версиям .NET Framework.
Здесь приведен список ссылок MSDN для целевой версии .NET Framework для проектов VS.NET:
Как настроить целевую .NET Framework
Visual Studio 2010
Как настроить конкретную версию или профиль .NET Framework