Запуск приложений .NET 3.5 в системах .NET 4 only - PullRequest
8 голосов
/ 01 апреля 2012

Этот вопрос задавался ранее, возможно, несколько раз, но я не могу заставить типичное решение работать на меня. предлагаемое решение - поместить его в файл app.config:

<configuration>
   <startup>
      <supportedRuntime version="v4.0"/>
   </startup>
</configuration>

Но с простой программой «Hello World» я все еще получаю сообщение об ошибке: «Невозможно найти версию среды выполнения для запуска этого приложения».

Для некоторого фона я использую Windows XP (через Windows Virtual PC в Windows 7) и установил только среду выполнения .NET 4.0 в XP.

После некоторых исследований я нашел эту страницу: http://msdn.microsoft.com/en-us/library/ee941656.aspx#core

В нем упоминалось «Если файл конфигурации вашего приложения называется application-name.config, переименуйте его в application-name.exe.config. Например, переименуйте MyApp.config в MyApp.exe.config.».

Я пробовал это, думая, что это может решить проблему, но я все еще получаю «Невозможно найти версию среды выполнения для запуска этого приложения». когда я пытаюсь запустить приложение .NET 3.5 (профиль клиента или полное) на WinXP с .NET 4.0.

1 Ответ

6 голосов
/ 03 апреля 2012

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

В списке файлов редактора VS он может оставаться как "app.config". Однако при компиляции VS автоматически создает вместо него "{ProgramName} .exe.config" (и помещает его в папку bin / release). Это файл, который нужно поместить в папку конечного пользователя вместе с исполняемым файлом.

Подводя итог, да, можно запустить приложение .NET 3.5 в системе, в которой установлен только .NET 4.0.

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