У меня есть старый проект 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
и др. и др.
Так что это неправильная версия некоторых сборок, и я не знаю, почему.
Как создаются ваши шаги сборки? Также попробуйте создать его локально, используя ту же версию msbuild, что и ваша команда TeamCity, которая будет использоваться на этапе сборки, и которая может по крайней мере помочь реплицировать ошибки сборки локально и протестировать исправления без необходимости перехода на сервер TeamCity. – Nanhydrin
@Nanhydrin Я добавил информацию о шаге сборки в вопрос, теперь попробую следующее предложение. :-) – Myster
Очень похоже, что TeamCity переопределяет любую версию .NET, которую он должен использовать (3.5 предположительно) с 4.0. Если вы перейдете в TeamCity, отредактируйте конфигурацию сборки и посмотрите на этапе сборки, на котором выполняется компиляция, есть два соответствующих поля: 'MSBuild version' и' MSBuild ToolsVersion'. На что они нацелены? Мое подозрение заключается в том, что для параметра ToolsVersion установлено значение 4.0, но должно быть 3.5 или 2.0. – Nanhydrin