2015-09-18 5 views
0

У меня есть старый проект MVC2, который я пытаюсь переместить с старого сервера CI для круиз-контроля на наш текущий сервер TeamCity CI.Скомпилировать ASP.NET MVC2 на сервере Team City Build

Я получаю стяжки ошибок сборки формы:

Модели \ State \ ControllerStates.cs (3, 18): ошибка CS0234: тип или пространства имен 'Mvc' не существует в пространстве имен 'System.Web' (это пропущена ссылка на сборку?)

Я получаю много предупреждений вида:

[14:57:16] Ресо lveAssemblyReference [14:57:16] C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1360, 9): предупреждение MSB3257: первичная ссылка "System.Runtime.Serialization" не может быть решена, поскольку она имеет более высокую версию «4.0.0.0», чем существует в текущей целевой структуре. Версия, найденная в текущей целевой структуре - «3.0.0.0».

TeamCity шаг сборка с помощью Visual Studio (.sln) бегун vs2012 Вот часть команды CSC вошедшей команды города.

/reference:C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Configuration.dll et al.

Я нашел установку VS2012 это работает правильно, а аналогичный показатель выглядит следующим образом:

/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.dll и др. и др.

Так что это неправильная версия некоторых сборок, и я не знаю, почему.

+1

Как создаются ваши шаги сборки? Также попробуйте создать его локально, используя ту же версию msbuild, что и ваша команда TeamCity, которая будет использоваться на этапе сборки, и которая может по крайней мере помочь реплицировать ошибки сборки локально и протестировать исправления без необходимости перехода на сервер TeamCity. – Nanhydrin

+0

@Nanhydrin Я добавил информацию о шаге сборки в вопрос, теперь попробую следующее предложение. :-) – Myster

+1

Очень похоже, что TeamCity переопределяет любую версию .NET, которую он должен использовать (3.5 предположительно) с 4.0. Если вы перейдете в TeamCity, отредактируйте конфигурацию сборки и посмотрите на этапе сборки, на котором выполняется компиляция, есть два соответствующих поля: 'MSBuild version' и' MSBuild ToolsVersion'. На что они нацелены? Мое подозрение заключается в том, что для параметра ToolsVersion установлено значение 4.0, но должно быть 3.5 или 2.0. – Nanhydrin

ответ

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^