Ошибка сборки TeamCity

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

Вот моя настройка.

У меня есть 2 сборки в TeamCity

  • Build Solution
  • Build Deployment Package Debug

Build Solution запускается с помощью проверки SVN и строит файл решения. Эта конфигурация работает нормально.

Build Deployment Package Debug имеет Build Solution как свою зависимость и имеет два этапа сборки (MSBuild). Решение содержит два веб-сайта: первый и один административный. На одном этапе сборки создается внешний сайт, а другой - сайт администратора. Конечным результатом является то, что он объединяет результаты в zip файл для развертывания на сервере развертывания (пока я еще не добрался до этого).

Проблема в том, что конфигурация Build Deployment Package Debug не пытается создать первый сайт. Это ошибка:

[18:40:25]Step 1/2: Web (MSBuild) (29s)
[18:40:28][Step 1/2] x.Web\x.Web.csproj.teamcity: Build target: Build (27s)
[18:40:50][x.Web\x.Web.csproj.teamcity] MvcBuildViews (4s)
[18:40:50][MvcBuildViews] AspNetCompiler (4s)
[18:40:55][AspNetCompiler] C:\BuildAgent\work\252ec59002ecc2d\x.Web\obj\debug\csautoparameterize\original\web.config(39, 0): error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.
[18:40:55][x.Web\x.Web.csproj.teamcity] Project x.Web\x.Web.csproj.teamcity failed.
[18:40:55][Step 1/2] Step Web (MSBuild) failed

Вот строковые параметры → Свойства системы

Name    Value
system._PackageTempDir   c:\deploypackage
system.Configuration     Debug
system.CreatePackageOnPublish    True
system.DeployIisAppPath  Debug
system.DeployOnBuild     True
system.PackageLocation   c:\buildshares\Debug\Debug.zip

Ответ 1

Вот что я сделал, чтобы решить эту проблему.

У меня уже было это в файле проекта

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

Но мне нужно было добавить это и

<Target Name="AfterBuild">
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>

Выполнение этой проблемы.

Надеюсь, это поможет кому-то другому, кто будет работать в TeamCity в будущем.