Использование компилятора Microsoft С++ без установки Visual Studio - программирование
Подтвердить что ты не робот

Использование компилятора Microsoft С++ без установки Visual Studio

В нашей команде у разработчиков есть Visual Studio 2012, и мы также используем сборку TFS2012. По соображениям пространства и управляемости мы не устанавливаем Visual Studio на наши (многие) агенты сборки. Это до сих пор работало с С# -проектами (csproj).

Теперь мы хотим добавить поддержку проекта С++ (vcxproj). Они основаны на машинах разработчиков, но не на агентах сборки - мы получаем: X.vcxproj(31,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Я предполагаю, что это потому, что компилятор и цели С++ установлены только с VS.

  • Есть ли способ проверить только компилятор и целевые объекты и установить какое-то свойство в наших common.targets указать там?
  • В противном случае, какой минимум мне нужно установить для каждого агента сборки для поддержки компиляции С++? Меньше всего я мог найти VS Express, который по-прежнему мне очень нравится.
4b9b3361

Ответ 1

Это просто для С#, способность компилировать программы на С# является врожденной в рамках System.CodeDom, поэтому достаточно просто установить .NET. Не так для С++. Вы, как минимум, должны будете установить Windows SDK, наполовину на концерты. Это включает в себя компилятор С++ в версиях SDK раньше, чем 8.0

Тем не менее, вы будете беспокоиться о том, как найти библиотеки классов на этой машине. ATL и MFC, например. Вы не можете просто скопировать их, что нарушает лицензию. Гораздо хуже, Microsoft не ведет бизнес так, как раньше. Они перешли на цикл быстрого выпуска с VS2012 с доставкой обновлений в течение нескольких месяцев. Это не обновления, которые вы можете игнорировать, они добавляют довольно крупные куски для реализации С++ 11. Определенно, что ваши программисты на С++ захотят использовать.

В общем, версия SDK компилятора С++ просто не синхронизирована с версией VS, команда Windows не обязана обновлять ее. Единственное, что никогда не должно делать строительная машина, - это запустить другой набор инструментов сборки, чем те, которые используются программистами. Это делает перерыв в построении, который невозможно воспроизвести с помощью большой неприятной точки раздора. Если вам не нравится усложнять жизнь, сообщение становится ясным. Не делайте этого, установите VS.

Ответ 2

Эта проблема также присутствовала для более ранних версий TFS. Насколько я знаю, единственным решением является копирование целей в агенты. Достаточно создать копию этой папки:

MSBuild\Microsoft\VisualStudio\v11.0\*.*

По крайней мере, вам не нужно устанавливать Visual Studio на агентов (кроме того, что вы хотите автоматизировать создание проекта).

Ошибка также описана здесь.