5

今天我尝试了很多方法来让我的构建在 Teamcity 中工作,但无济于事。

这是我的设置。

我在 TeamCity 中有 2 个构建配置

  1. Build Solution
  2. Build Deployment Package Debug

Build Solution由 SVN 签入触发并构建解决方案文件。此配置工作正常。

Build Deployment Package DebugBuild 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
4

1 回答 1

20

这是我为解决这个问题所做的

我的项目文件中已经有了这个

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

但我也需要添加这个

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

这样做解决了这个问题。

我希望这对将来在 TeamCity 工作的其他人有所帮助。

于 2013-04-26T14:39:43.487 回答