Построить решение VS2010 с использованием MSBuild 2008 - PullRequest
1 голос
/ 10 ноября 2010

Наша команда разработчиков недавно обновила решение до VS2010 с VS2008, чтобы использовать некоторые функции из VS2010 IDE.Но наша целевая структура по-прежнему .Net 3.5.Когда dev запускает MSBuild из командной строки VS 2008 для построения решения VS2010, сборка прошла успешно.но на сервере сборки мы получаем следующую ошибку.

MSB3086: Задаче не удалось найти «sgen.exe» с помощью SdkToolsPath »или ключа реестра« HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v7.0A».Убедитесь, что SdkToolsPath установлен, и инструмент существует в правильном определенном месте процессора под SdkToolsPath, и что Microsoft Windows SDK установлен в Microsoft.Common.targets (2249, 9)

У нас нет ниVS2010 или Windows SDK 7.1 или .Net 4.0 на сервере сборки.Также мы не хотим устанавливать .Net 4.0 или VS2010 на сервере сборки, так как мы хотим продолжить работу с .Net 3.5 в рабочем состоянии.

Есть ли способ исправить запуск решения VS2010 с использованием VS 2008 / 3.5 MSBuildбез установки .Net 4.0 или VS2010 на сервере сборки?

Спасибо, Тодд

Ответы [ 2 ]

3 голосов
/ 11 ноября 2010

Если вы используете VS2010 для разработки, вы должны как минимум установить .NET 4.0 (MSBuild 4.0) на свой сервер сборки.Ваши проекты все еще могут быть нацелены на .NET 3.5.Я бы не стал пытаться заставить MSBuild 3.5 создать файл решения VS2010.Просто используйте MSBuild 4.0 и цель .NET 3.5.

1 голос
/ 10 ноября 2010

Один из методов, который может сработать, в зависимости от того, используете ли вы языковые функции .Net 4.0, будет использовать SwitchVsVersion Стива Данна как часть процесса сборки на сервере сборки для изменения Visual Studio. версия файла решения до 2008 года.

использование:

SwitchVsVersion.exe <target dir> 2008

изменяет версию файлов sln и csproj в на совместимость с Visual Studio 2008

...