Это появляется, когда вы нажимаете F1 в диалоговом окне Framework and References:
По умолчанию для новых проектов целевая платформа установлена на .NET Framework 4. Среда IDE не поддерживает изменение целевой платформы, но вы можете изменить ее вручную. В файле проекта (.vcxproj) целевая среда по умолчанию представлена элементом свойства v4.0. Чтобы изменить целевую платформу, выгрузите проект, откройте файл проекта с помощью текстового редактора, а затем измените значение элемента свойства с версии 4.0 на другую версию, установленную на вашем сервере. Например, если вы указываете v3.5, который представляет собой .NET Framework v3.5, необходимо установить Visual Studio 2008 SP1 . Сохраните и закройте файл, перезагрузите проект и убедитесь, что целевая платформа отображается на странице свойств. *
Это не очень точно для конвертированных проектов, вам придется добавить <TargetFrameworkVersion>
элемент самостоятельно. Поместите его в PropertyGroup с пометкой «Глобальные»:
<PropertyGroup Label="Globals">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<others...>
</PropertyGroup>
Ситуация меняется, когда вы используете VS2012 и выше, первую версию VS, которая приобрела параметр Platform Toolset на странице свойств General. Затем вы должны выбрать «v90», чтобы получить правильную сборку, нацеленную на 3.5. Однако это неуклюже, чтобы иметь этот выбор, на компьютере должны быть установлены все промежуточные версии VS.
Почему вам нужен VS2008, требует объяснения. Основная проблема заключается в том, что библиотека времени выполнения C (msvcrt100.dll и выше) содержит код .NET для поддержки выполнения управляемого кода. Важной деталью является инициализатор модуля, который обеспечивает правильную инициализацию CRT в программе, использующей код C ++ / CLI. Этот код всегда нацелен на .NET 4, и, поскольку он запутан в msvcrt100.dll (и выше), у вас всегда есть жесткая зависимость от времени выполнения v4.0.30319. Вы можете иметь только чистую зависимость v2.0.50727 при использовании старой среды выполнения C, msvcrt90.dll. Вы можете быть уверены, что у вас есть зависимость msvcrt90.dll, когда вы используете файлы #include компилятора VS2008.
Неопровержимый факт, что довольно скоро нужно перейти на .NET 4, вы будете бороться с подобными проблемами сборки, если не сделаете этого. Практических препятствий для этого очень мало: .NET 4 широко доступен бесплатно для всех целей, которые вы себе представляете. Преодоление FUD, связанное с переходом на более высокую версию времени выполнения, как правило, является только реальной проблемой. Нет причин для страха и сомнения, он стабилен.