2013-04-25 32 views
5

Tôi đã thử nhiều thứ để xây dựng công trình của mình trong Teamcity nhưng không có kết quả.TeamCity Build Failure

Đây là thiết lập của tôi.

tôi có 2 xây dựng cấu hình trong TeamCity

  1. Build Solution
  2. Build Deployment Package Debug

Build Solution được kích hoạt bởi một checkin SVN và xây dựng các tập tin giải pháp. Cấu hình này hoạt động tốt.

Build Deployment Package DebugBuild Solution làm phụ thuộc và có hai bước xây dựng (MSBuild). Giải pháp chứa hai trang web: một giao diện người dùng và một trang web quản trị. Một bước xây dựng xây dựng trang web giao diện người dùng và trang quản trị khác. Kết quả cuối cùng là nó đặt các kết quả kết hợp vào một tệp nén để triển khai đến máy chủ triển khai (tôi chưa nhận được bit này).

Vấn đề mà tôi có là cấu hình Build Deployment Package Debug không cố gắng xây dựng trang web đầu tiên. Đây là lỗi:

[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 

Dưới đây là Build paramters -> System Properties

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

Tại sao bỏ phiếu phủ định? Tôi đã hỏi một câu hỏi hợp lệ, cung cấp nhiều chi tiết liên quan. –

+0

có thể trùng lặp với [Lỗi Teamcity với MVC 4 và .NET 4.5] (http://stackoverflow.com/questions/16219319/teamcity-error-with-mvc-4-and-net-4-5) –

+0

Bản sao có thể có của [allowDefinition = 'MachineToApplication' lỗi khi xuất bản từ VS2010 (nhưng chỉ sau khi xây dựng trước đó)] (http://stackoverflow.com/questions/2566215/allowdefinition-machinetoapplication-error-when-publishing-from-vs2010-but-on) – JotaBe

Trả lời

18

Đây là những gì tôi đã làm để giải quyết này

Tôi đã có này trong tập tin dự án của tôi

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

Nhưng tôi cũng cần thêm điều này cũng

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

Việc này đã khắc phục được sự cố.

Tôi hy vọng điều này sẽ giúp người khác đang làm việc trên TeamCity trong tương lai.

+1

Có rất nhiều câu trả lời SO giải quyết vấn đề này, nhưng đây là câu trả lời duy nhất thực sự hiệu quả với tôi. Thiết lập của tôi là dự án VS11 được chuyển đổi từ VS10, đã bật BuildMvcViews chỉ trong bản phát hành và hiện đang sử dụng hồ sơ xuất bản. msbuild/p: DeployOnBuild bị lỗi với lỗi web.config (mặc dù nó đã thực sự xuất bản gói ...). Điều này cố định nó. –

+1

Làm việc ở lần chụp đầu tiên! Cảm ơn –

+2

cảm ơn bạn đã quay lại để trả lời câu hỏi này. đã xé tóc ra – spaceman