2012-01-05 5 views
0

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

Хотя я уверен, что ответ на вопрос верен, я столкнулся с еще одной проблемой, которая по-прежнему препятствует работе сборщиков.

Я до сих пор приняты следующие меры:

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

(шаги от here)

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

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

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

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

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

+0

ли вам пытался создать ваше решение с помощью MsBuild 3.5? – Ludwo

ответ

0

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

+0

Спасибо за предложение, но я все равно получаю то же сообщение об ошибке – Vermin

0

Попробуйте запустить с MSBuild 2,0

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

+0

Спасибо за предложение, но когда я изменяю путь инструмента в рабочем процессе для MSBuild, я получаю ряд ошибок относительно неизвестных ключей. Я также ранее пытался установить путь к версии 3.5 MSBuild, но я получаю сообщение об ошибке. Казалось бы, ни MSBuild (2.0/3.5) будет работать из-за передаваемых ему переключателей, однако, по-видимому, эти коммутаторы передаются по умолчанию через процесс сборки, поскольку я не вижу нигде в определении сборки, напоминающем переключатели, и я не могу увидеть, где переключатели приходят из журнала построения – Vermin

+0

Я думаю, что руководство по изменению файлов vcxproj является источником проблемы. Вы должны сделать шаг назад и убедиться, что проекты C++ компилируются без проблем через командную строку, прежде чем автоматизировать его в TFS. – KMoraz