2013-06-12 8 views
6

Tôi có rất nhiều dự án studio trực quan được phân phối tới khách hàng bằng trình cài đặt. Sau khi cài đặt tất cả các tập tin dự án và giải pháp nên được cài đặt phiên bản studio trực quan mới nhất. Có cách nào để chuyển đổi nhiều dự án nhanh không?Nâng cấp các tệp dự án và giải pháp Visual Studio theo lập trình

Tôi đã thử sau:

1) phân tích các tập tin và thay thế các thuộc tính khác nhau như ToolsVersion vv Đó là nhanh nhưng không đáng tin cậy và cần được thay đổi cho mỗi Visual Studio mới mà nói đến thị trường (hàng năm từ nay AFAIK)

2) Sử dụng devenv nâng cấp tính năng, đáng tin cậy nhưng RẤT chậm:

string[] files = Directory.GetFiles(@"c:\MyTmp", "*.sln", SearchOption.AllDirectories); 
foreach (string file in files) 
{ 
    Process process = new Process(); 
    process.StartInfo.FileName = pathToTheLatestVS; 
    process.StartInfo.Arguments = "/Upgrade \"" + file + "\""; 
    process.Start(); 
    process.WaitForExit(); 
} 

3) Cố gắng để tạo ra một trường hợp ẩn của VS và vận dụng các giải pháp từ đó như mô tả here, nhưng không may mắn.

Vì vậy, có thể nâng cấp nhiều tệp dự án/giải pháp lên phiên bản Visual Studio cụ thể một cách nhanh chóng và đáng tin cậy?

+1

Bạn có thể sử dụng kết hợp hai tùy chọn. Chuẩn bị các tệp dự án cho các phiên bản hiện có của Visual Studio trước và cài đặt các tệp đã được chuẩn bị. Đối với các phiên bản sau, bạn có thể sử dụng phương thức thứ hai của mình. –

+0

@AlexButenko không phải là một tùy chọn vì có rất nhiều dự án đang thay đổi và chúng tôi hỗ trợ khách hàng từ VS 2005, vì vậy chúng tôi phải duy trì 5 lần nhiều tệp dự án. Phương pháp thứ hai của tôi là không thể chấp nhận chậm. – VladL

+0

Dường như với tôi nó phải là một lựa chọn về cơ bản tất cả các bạn đang làm là đối phó với một vấn đề kiểm soát nguồn. Bạn chỉ cần liên kết cài đặt máy khách với một số phiên bản kiểm soát nguồn/blob sản xuất và sau đó kéo các giải pháp liên quan và các tệp dự án từ đó. – rism

Trả lời

2

Hãy để tôi giới thiệu cho bạn một chế độ xem khác với chế độ xem bạn đã trình bày. Thực tế là nâng cấp chậm là tất cả các loại séc được thực hiện trên các dự án/giải pháp mà bạn cố nâng cấp. 'Báo cáo nâng cấp' được tạo để cung cấp phản hồi về các kiểm tra đó. Đây là thông tin không nên bỏ qua vì nó cung cấp các biện pháp khắc phục trên các vấn đề đã đề cập.

Bạn tuyên bố rằng bạn triển khai các dự án/giải pháp thông qua trình cài đặt. Giả sử rằng bạn có một nhóm phát triển/công cụ được cập nhật, bạn có thể thực hiện các nâng cấp như là một phần của thiết kế/phát triển trình cài đặt của bạn. Tại sao bạn không tự thực hiện nâng cấp và bao gồm các tệp dự án trong trình cài đặt của mình. Trong khi cài đặt, bạn sẽ cài đặt phiên bản của các tệp dự án/giải pháp phù hợp với nền tảng đích.

+0

Có, và thực hiện chuyển đổi trong tập lệnh Tích hợp liên tục của bạn qua đêm. Tất nhiên bạn sẽ cần một máy tính với tất cả các phiên bản Studio được cài đặt, do đó, nó sẽ là một chút nỗ lực ban đầu. Điều này cho phép xem xét các báo cáo nâng cấp, ví dụ: mỗi buổi sáng về phía công ty trước khi nó thất bại về phía khách hàng. –

+0

Như tôi đã viết trong nhận xét, chúng tôi không muốn giữ và duy trì thêm 5 lần tệp nữa so với chúng tôi đã có. Và mỗi năm tiếp theo sẽ có thêm một vì Visual Studio mới. Các dự án của chúng tôi khá đơn giản (các mẫu lập trình cho khuôn khổ của chúng tôi) và không có gì có thể xảy ra trong quá trình chuyển đổi vì vậy chúng tôi không cần báo cáo nâng cấp. Điều duy nhất tôi muốn đạt được là khách hàng nhấp đúp chuột vào tập tin giải pháp và mẫu được mở trong cài đặt VS hiện đại nhất. – VladL

+0

Bạn đã đề cập rằng tùy chọn thứ 2 không được chấp nhận chậm. Tôi không có ý tưởng về số lượng dự án so với số lượng giải pháp nhưng nếu bạn có 1 giải pháp bao gồm tất cả dự án và sau đó chỉ cần chuyển đổi giải pháp 1, thì hiệu suất có còn không được chấp nhận không?Nếu đó là trường hợp thì bạn chỉ có thể cho phép khách hàng thực hiện hình phạt nâng cấp chỉ trong thời gian khi họ thực sự mở một dự án. –