TeamCity Использует неправильный исполняемый файл MSBuild? - PullRequest
7 голосов
/ 21 февраля 2010

Я создаю файл MSBuild и использую его вместе с MSBuild Build Runner в TeamCity (5.0.2 (сборка 10784)), но я не думаю, что он работает с верной версией MSBuild, потому что я продолжаю получать следующую ошибку :

ошибка MSB5014: версия формата файла не распознана. MSBuild может читать файлы решения только между версиями 7.0 и 9.0 включительно.

Я новичок в TeamCity, поэтому не знаю, с чего начать, как это настроить. Как вы можете видеть на скриншоте ниже, я выбрал версию 4.0 на экране конфигурации бегуна сборки.

Build Configuration

Ответы [ 2 ]

5 голосов
/ 21 февраля 2010

На основании ошибки кажется, что конфигурация Team City / MSBuild не поддерживает VS2010. Решения для VS2010 - это версия 10.0, где, как указывает ошибка, поддерживается только версия от 7.0 до 9.0.

Здесь - ветка форума, посвященная созданию проектов VS2010 с использованием TeamCity.

4 голосов
/ 15 апреля 2010

Извлечение ответа из ветки форума :

Проблема исправлена ​​в TeamCity 5.1, но в 5.0 * 1005 есть взлом, чтобы заставить ее работать

По сути, вам нужно переопределить механизм, который устанавливает путь к MSBuild.exe на основе версии .NET Framework, указанной в части сборки сборки в конфигурации сборки.

Чтобы сделать это, создайте переменную среды "MSBuild" и установите для нее значение% system.DotNetFramework4.0_x86_Path% (это переменная, автоматически генерируемая сборщиком сборки, когда он обнаруживает, что на нем установлен .NET 4.0)

Переменная может быть создана на агенте в файле buildAgent.properties, в этом случае она должна называться «env.MSBuild», и поскольку она определена глобально, она повлияет на все проекты, построенные на этом агенте сборки. .

Или его можно создать внутри самой конфигурации сборки (тогда имя будет просто «MSBuild») - в этом случае он будет применяться только к этой конфигурации сборки.

...