2012-11-20 8 views
7

Có thể sử dụng triển khai web từ nhiều máy tính của nhà phát triển không?Sử dụng MSDeploy/Web Deploy làm Phương thức xuất bản trong Visual Studio với nhiều người dùng

Khi chúng tôi cố gắng làm như vậy, có vẻ như chúng tôi cần xuất bản lại mọi thứ khi ai đó khác muốn triển khai.

Chúng ta đang làm điều gì đó sai, có cách nào xung quanh vấn đề này hay cách tiếp cận được đề xuất trong kịch bản của chúng ta?

Tôi biết rằng việc triển khai từ vị trí trung tâm là giải pháp được thiết lập tốt hơn, nhưng rất tiếc, đây không phải là tùy chọn tại thời điểm này.

Trả lời

2

Sử dụng Visual Studio, không. Các kịch bản xây dựng hiện tại không có cách cung cấp cờ cần thiết cho MSDeploy.

Nếu bạn đang sử dụng tệp cmd được tạo từ gói để thực hiện triển khai, bạn có thể thêm -useChecksum vào dòng lệnh của mình và sẽ sử dụng so sánh tổng kiểm thay vì ngày sửa đổi cuối cùng.

+0

Thật tuyệt, cảm ơn! Tôi vẫn đang tìm đường đi xung quanh hệ sinh thái msdeploy và webdeploy. Bạn có thể chỉ cho tôi bất kỳ tài liệu nào mà điều này được giải thích không? – Bertvan

+0

OK nevermind về các câu hỏi cho tài liệu hướng dẫn, nó ngay tại đây: http://technet.microsoft.com/en-us/library/dd569089(v=ws.10).aspx – Bertvan

+2

Chỉ cần lưu ý rằng bằng cách sử dụng checksum bây giờ có thể được cấu hình để được sử dụng trong Visual Studio, kể từ phiên bản 2013. Thông tin thêm tại: http://blogs.msdn.com/b/webdev/archive/2013/10/30/web-publishing-updates-for-app-offline-and -usechecksum.aspx – Bertvan

14

Bạn không thể làm điều đó từ dự án của mình, nhưng thật đơn giản để chỉnh sửa tập lệnh Visual Studio MSBuild để bật (đối với tất cả các web triển khai). Đây là cách:

  1. mở C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets
  2. Tìm MSDeployPublish mục tiêu
  3. Bên trong nhiệm vụ đó, tìm ra lời kêu gọi các VSMSDeploy nhiệm vụ (dòng 4376 hoặc lâu hơn)
  4. Thêm thuộc tính UseChecksum="true" cuộc gọi VSMSDeploy nhiệm vụ

Bạn cũng có thể thực hiện việc này để xem trước triển khai bằng cách làm theo các bước tương tự, nhưng hãy tìm mục tiêu MSDeployFilePreview trong bước 2 thay vì nhiệm vụ MSDeployPublish.

Đảm bảo khởi động lại VS sau khi bạn thực hiện các thay đổi để đảm bảo chúng được chọn đúng cách.

CẬP NHẬT: MS đã thêm khả năng để vượt qua lá cờ UseChecksum để VS 2013. Để thực hiện điều này, thêm thuộc tính sau vào file .pubxml:

<MSDeployUseChecksum>true</MSDeployUseChecksum> 

Thông tin bổ sung có thể được tìm thấy here