6

Ngăn xem trước của hộp thoại Xuất bản Web trong Visual Studio 2012 hoạt động khá độc đáo khi bạn là nhà phát triển duy nhất làm việc trên cơ sở mã (xem ví dụ bên dưới): enter image description hereVisual Studio 2012 Web Deploy xuất bản xem trước hiển thị tất cả các tệp đã thay đổi

Tuy nhiên, nó dường như rơi xuống khi nhiều nhà phát triển sử dụng nó. Dường như bạn sử dụng dấu thời gian tệp làm phương tiện tổng hợp, vì vậy ngay cả khi bạn đã nhận được mới nhất từ ​​TFS, dấu thời gian của bạn khác với tệp mà người khác đã xuất bản trên máy chủ, vì vậy nó bao gồm nhiều thay đổi ảo trong danh sách (một khi bạn đi sâu vào, hai ô khác nhau sẽ giống nhau).

Có ai đưa ra giải pháp cho trường hợp này không?

Trả lời

2

Cho đến nay, không. Tôi đã nhận thấy cùng một vấn đề với Team Foundation Server và xuất bản thông qua hệ thống tập tin. Vấn đề xuất phát từ các tệp XML mà TFS đang sử dụng để theo dõi những gì được xuất bản lần cuối cho một cấu hình đã cho. Các tệp này tồn tại trong thư mục Project \ Properties \ Publish Profiles. Các tệp được tự động thêm vào dự án và không thể thoát khỏi TFS. Khi một thành viên trong nhóm thông báo rằng những gì họ xuất bản không nhất thiết phải khớp với những gì trên máy của họ, họ xóa và tạo lại một hồ sơ xuất bản mới. Hoàn toàn không phải là giải pháp có thể mở rộng, nhưng nếu bạn xuất bản studio trực quan của google không hoạt động, bạn sẽ gặp phải vô số người có cùng vấn đề.

+0

Thú vị. Kể từ khi tôi đăng này, tôi khám phá các tùy chọn xuất bản hệ thống tập tin, và nó có vẻ thông minh hơn trong lĩnh vực này. Nó bỏ qua dấu thời gian máy chủ hoàn toàn; thay vào đó, nó so sánh dấu thời gian trong tệp .pubxml.user với dấu thời gian hiện tại của tệp, xuất bản nếu tệp mới hơn. Có vẻ như YMMV về vấn đề này. –

+0

Tôi đã thêm ý tưởng này vào Giọng nói Người dùng của Visual Studio: [Cải thiện hỗ trợ cho nhiều người dùng bằng cách sử dụng Triển khai Web Xuất bản Xem trước] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504823-improve-support- cho nhiều người dùng-sử dụng-web-deplo). Đi bỏ phiếu! –

3

Câu trả lời trễ có thể hữu ích cho những người sử dụng phiên bản Visual Studio mới hơn (2013 trở lên). Xác định rằng checksum của file nên được sử dụng thay cho dấu thời gian:

1) Thu gọn danh xuất bản thông tin xml file: \<web project>\Properties\PublishProfiles\<publishprofile>.pubxml

2) Thêm <MSDeployUseChecksum>true</MSDeployUseChecksum> trong nhóm bất động sản. Kết quả cuối cùng sẽ trông giống như sau:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
This file is used by the publish/package process of your Web project. You can customize the behavior of this process 
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
--> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <WebPublishMethod>MSDeploy</WebPublishMethod> 

    <MSDeployUseChecksum>true</MSDeployUseChecksum> 

    <!-- other configuration here --> 
    </PropertyGroup> 
    <ItemGroup> 
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MdwAutomaticTestingModels-Web.config Connection String"> 
     <UpdateDestWebConfig>False</UpdateDestWebConfig> 
    </MSDeployParameterValue> 
    </ItemGroup> 
</Project> 

Chi tiết khác có thể tìm thấy here.

+0

Cảm ơn @Alexei, giải pháp của bạn thực sự hiệu quả. Nó sẽ được đánh dấu là một câu trả lời để những người khác sẽ nhận được lợi ích từ nó. Tôi đã bình chọn. –

Các vấn đề liên quan