MSBuild 2010 не удается найти установленный VS2008 при попытке собрать с помощью набора инструментов .Net Framework 3.5 / v90 - PullRequest
0 голосов
/ 05 января 2012

У меня проблемы с созданием проектов C ++, нацеленных на .Net Framework v3.5 в VS2010 с помощью автоматических сборок (см. Мой другой вопрос здесь )

Хотя я почти уверен, чтоответ на вопрос правильный, я столкнулся с другой проблемой, которая до сих пор не позволяет работать сборкам.

До сих пор я предпринял следующие шаги:

  1. Изменен .vcxprojфайлы вручную, чтобы они были нацелены на .net Framework 3.5
  2. Изменен «Набор инструментов платформы» на v90
  3. Установлен VS2008 SP1 на компьютере сборки
  4. Открыта командная строка VS2010на машине для сборки установите TargetFrameworkVersion = v3.5 и запустите devenv.exe из командной строки.
  5. Передайте /p:TargetFrameworkVersion=v3.5 значение MSBuild в рабочем процессе для моего конкретного определения сборки

(шаги взяты из здесь )

Когда я запускаю сборку для этих проектов, сборка падает на самом первом проектеt со следующим сообщением об ошибке:

C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.CppBuild.targets (293): указанный набор инструментов платформы (v90)требуется Visual Studio 2008. Пожалуйста, убедитесь, что Visual Studio 2008 установлен на компьютере.

Я действительно в замешательстве с этой проблемой.Я понятия не имею, почему MSBuild подумает, что VS2008 не установлен, когда он явно.Я попытался изменить платформу MSBuild с Auto на X86, и это ничего не изменило.

Моя сборочная машина работает под управлением Windows Server 2008 R2 Enterprise (64-разрядная версия)

Как всегда, спасибо за любыепредложенная помощь

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Попробуйте запустить с MSBuild 2.0

% WINDIR% \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe

0 голосов
/ 06 января 2012

Попробуйте передать /p:TargetFrameworkVersion=v3.5;PlatformToolset=v90 в MSBuild в определении сборки

...