Как указать версию .NET при использовании параметра / CLR - PullRequest
7 голосов
/ 26 октября 2011

Я компилирую сторонний код C ++, используя флаг / CLR, для которого требуется только .NET Framework 3.5.

Код отлично компилируется, но, так как у меня на компьютере разработчика установлена ​​.NET 4.0, полученный бинарный файл не работает ни для одной платформы .NET, кроме 4.0

Итак, как мне сказать Visual Studio использовать определенную версию .NET Framework при компиляции?

1 Ответ

8 голосов
/ 26 октября 2011

Цитирование статьи в Блог команды разработчиков Visual C ++ , Руководство по обновлению проекта Visual Studio 2010 C ++ :

... компилятор VS2010 не может работать с Framework 2.0, 3.0 или 3.5. Компилятор VS2008 должен использоваться для цели 2.0, 3.0 или 3.5. ... Приложения C ++ могут быть перенаправлены на другие фреймворки (например, 3.5) одним из следующих методов:

  • Отредактируйте файл vcxproj и в первой группе свойств добавьте следующее: <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
  • Откройте командную строку VS2010, set TargetFrameworkVersion=v3.5, а затем запустите devenv.exe из командной строки. Это нацелит все ваши приложения C ++ на фреймворк v3.5.
  • Передача /p:TargetFrameworkVersion=v3.5 в MSBuild при сборке приложений: MSBuild my.vcxproj /p:TargetFrameworkVersion=v3.5

Обратите внимание, что VS2008 должен быть установлен на машине, чтобы приложение предназначалось для 2.0, 3.0 или 3.5.

...