Вот интересный. У меня есть небольшой исполняемый файл, созданный для .NET 2.0, чтобы он работал на самых разных платформах. Это программа с одной сборкой, которая ссылается только на пространства имен System. *.
Когда я запускаю его в ОС с установленным .NET 2.0, он работает нормально. Он не будет работать в ОС с установленным только .NET 4.0 из-за новой среды выполнения, представленной в .NET 4.0. В результате я добавил информацию о поддерживаемой среде выполнения в файл app.config, как описано здесь . Я добавил две поддерживаемые среды выполнения:
<supportedRuntime version="2.0.50727" />
<supportedRuntime version="4.0" />
Теперь, когда я запускаю приложение в системе с установленным .NET 2.0, не запускается :
Не имеет значения, в каком порядке определены поддерживаемые среды выполнения, за исключением того, что порядок запрашиваемых версий в сообщении об ошибке изменяется, чтобы отразить изменения в app.config (поэтому CLR, очевидно, правильно выбирает эту информацию) , У меня установлен .NET 2.0, и он утверждает, что мне нужно установить .NET 2.0! Я попытался восстановить установку .NET 2.0 без удачи. Я воспроизвел это поведение на второй машине.
Что может быть причиной этого сбоя?