Целевой .NET 4.0, но .NET 4.5 требуется

Недавно мы перешли на VS 2012, но нам нужно продолжать использовать .NET 4.0. Большая часть нашей клиентской базы по-прежнему использует XP, а .NET 4.5 не поддерживается в Windows XP.

Теперь все проекты в решении нацелены на .NET 4.0 или ниже. Когда мы запускаем приложение, он сообщает нам установить .NET 4.5 Framework, в то время как используется только .NET 4.0?

В сгенерированном файле конфигурации я вижу:

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

Если я изменяю Version=v4.5 на Version=v4.0 вручную в файле конфигурации, все работает отлично, и мы можем запускать приложение, однако, как это ни странно, нужно это делать? Может кто-нибудь объяснить мне, что заставляет решение запрашивать 4.5, пока мы разрабатываем для 4.0?

Ответ 1

Этот XML-контент автоматически создается внутри файла app.config при создании проекта .NET Framework 4.5 с использованием Visual Studio 2012. Когда вы перенаправляете свой проект на .NET Framework 4, эти записи также возвращаются в файле app.config, Похоже, что ваша запись app.config по какой-то причине не была возвращена. Это нормально, чтобы вручную отредактировать файл (как вы это сделали). Ваши проекты больше не будут запрашивать .NET Framework 4.5.