2013-07-02 44 views
5

Tôi có giải pháp .net4 trong VS2012 có trang web có hồ sơ xuất bản riêng.Xuất bản Tiểu sử không triển khai trên TFS Build

Tiểu sử xuất bản thành công thông qua webdeploy khi được thực thi từ bên trong VS, nhưng khi sử dụng TFS2012, có vẻ như nó bị bỏ qua.

tôi vượt qua những lập luận MSBuild vào xây dựng:

/p:DeployOnBuild=true /p:AllowUntrustedCertificate=true /p:PublishProfile=CI /p:Configuration=CI /p:UserName=XXX /p:Password=XXXXXX 

Tôi nghĩ DeployOnBuild = true sẽ buộc MSBuild để thực hiện công bố hồ sơ cùng tên trong giải pháp.

Đây có phải là trường hợp không?

+0

Bạn đã cài đặt studio trực quan trên máy xây dựng chưa? Bạn cũng có thể thêm /p:VisualStudioVersion=11.0 vào MSBuild args để chắc chắn rằng bạn đang giải quyết đúng mục tiêu. –

+1

Bạn đã bao giờ tìm ra điều này chưa? Tôi gặp vấn đề tương tự –

+0

'/ p: VisualStudioVersion = 11.0' param đã giúp tôi giải quyết cùng một vấn đề – whyleee

Trả lời

0

Chỉ cần xem qua câu hỏi này trong tìm kiếm của tôi. Khi bạn đã tạo một hồ sơ xuất bản (trong trường hợp của bạn, được gọi là "CI"), nó được lưu vào một tệp xml trong phần thuộc tính của dự án, với phần mở rộng ".pubxml".

Để trả lời câu hỏi của bạn, bạn nên thay thế phần/p: PublishProfile = CI bằng /p:PublishProfile=CI.pubxml.

0

Trong trường hợp của tôi, tôi sử dụng đối số này cho msbuild.

/p:OutDir=$(build.stagingDirectory)/p: DeployOnBuild = true /p: WebPublishMethod = Gói/p: PackageAsSingleFile = true /p: SkipInvalidConfigurations = true

Trong trường hợp này, nó tạo ra một thư mục Package với dự án mà nó có trang web.