.NET Framework 4.0 не устанавливается, если 4.5 уже установлена
Я использую Visual Studio 2012 для проекта WPF, нуждающегося (как минимум) в.NET Framework 4.0. Я уже установил 4.5, но люди с Windows XP не могут установить приложение (потому что 4.5 не работает на Windows XP). Я использую ClickOnce в качестве приложения для развертывания.
Когда я пытаюсь установить версию 4.0, я получаю сообщение об ошибке (в переводе с голландского, поэтому английская версия может немного отличаться):
На этом компьютере уже установлена та же или более поздняя версия.NET Framework 4
Как я могу это исправить?
3 ответа
.NET 4.5 является дополнением к.NET 4.0 с точки зрения CLR, и поэтому при установке.NET 4.5 он включает 4.0. Существует известная проблема с ClickOnce, когда он генерируется на компьютере, на котором установлен.NET 4.5.
Visual Studio 2012 Update 1 должен решить эту проблему.
Вы можете установить версию платформы.NET для своих приложений.NET в Visual Studio. Если вы хотите опубликовать версию, совместимую с Windows XP, вы всегда должны выбирать.NET 4 или ниже в качестве целевой платформы.
.NET 4.0 Framework должен быть указан рядом с 4.5.
Это на нормально установленной машине с Windows 8, Visual Studio 2012 Ultimate, без необходимости установки какой-либо другой платформы или SDK.
.NET Framework 4.5 является обновлением на месте и заменяет.NET Framework 4. После установки.NET Framework 4.5 невозможно вернуться к.NET Framework 4. Обратите внимание, что основные и вспомогательные версии сборок.NET Framework 4.5 были не изменилось. Это означает, что приложение.NET Framework 4 не "видит" разницу между ними и должно работать одинаково. Поскольку вы хотите, чтобы приложения работали в Windows XP, вам нужно ориентироваться на.NET Framework 4 в вашем проекте. Это гарантирует, что ваше приложение не использует никаких новых API, добавленных в.NET Framework 4.5. После этого вы сможете запускать свое приложение как на.NET Framework 4, так и.NET Framework 4.5. Обратите внимание, что хотя панель совместимости была очень высокой (из-за того, что.NET Framework 4.5 является обновлением на месте), вы все равно обнаружите некоторые незначительные различия (например, ошибки, которые вызывали исключения в.NET Framework 4, могли быть исправлены в.NET Framework 4.5 и исключения больше не выбрасываются), и поэтому вам необходимо тщательно протестировать свое приложение на компьютере.NET Framework 4, так как при запуске его на.NET Framework 4.5 не будет выявлено некоторых проблем. Причина этого заключается в том, что таргетирование гарантирует, что приложение не использует API, которых раньше не было, но не может обеспечить поведение во время выполнения, поскольку на компьютере с.NET Framework 4.5 оно всегда будет использовать.NET Framework 4.5 время выполнения (поскольку нет.NET Framework 4 больше не существует).
Все просто, просто проверьте панель управления, удалите более высокую версию и продолжайте установку.