Принудительно запустить приложение под определенной версией .NET? - PullRequest
22 голосов
/ 12 января 2010

У меня установлена ​​среда выполнения .NET 2.0, затем я установил среду выполнения .NET 4.0, поэтому у меня есть оба варианта. Когда я запускаю приложение .NET, есть ли способ указать, какая среда выполнения будет использоваться?

Редактировать / Уточнить: Я имел в виду без того, как приложение было построено. Я предполагаю, что среда выполнения .NET 4.0 может запускать программу .NET, скомпилированную 5 лет назад и предназначенную для среды выполнения 2.0 (oldprogram.exe). Так что теперь я нахожусь на машине с обеими средами выполнения, любая из которых может обрабатывать oldprogram.exe. Какое время выполнения выбрано? Могу ли я повлиять на то, какое время выполнения выбрано?

Ответы [ 3 ]

29 голосов
/ 12 января 2010

Да, используйте элемент <supportedRuntime> в файле .exe.config. Например:

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
   </startup>
</configuration>
6 голосов
/ 12 января 2010

Посмотрите: Настройка перенаправления привязки сборки

По умолчанию приложения используют набор сборок .NET Framework, которые поставляются с версией среды выполнения, используемой для компиляции приложения. Вы можете использовать атрибут applyTo в элементе <assemblyBinding> в файле конфигурации приложения, чтобы перенаправить ссылки привязки сборки к определенной версии сборок .NET Framework. Этот необязательный атрибут использует номер версии .NET Framework, чтобы указать, к какой версии он применяется. Если атрибут applyTo не указан, элемент <assemblyBinding> применяется ко всем версиям .NET Framework.

4 голосов
/ 12 января 2010

Вот список ссылок MSDN на целевую версию .NET Framework для проектов VS.NET:

Как: нацелить на конкретную платформу .NET Framework

Visual Studio 2010
Как: нацелить на определенную версию или профиль .NET Framework

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...