2010-09-30 16 views
21

Có thể ClickOnce được định cấu hình để xóa các thư mục đã xuất bản cũ không?Có thể ClickOnce được định cấu hình để xóa các thư mục đã xuất bản cũ không?

Hoặc

Có ai viết một số mã đó sẽ xóa bỏ những thư mục xuất bản (có thể giữ ngoái 10)?

Hiện tại, mỗi khi Xuất bản ClickOnce được thực hiện, thư mục mới sẽ được tạo trên Máy chủ IIS. Thư mục MỚI này chứa một bản sao của toàn bộ ứng dụng, được tải xuống. Các thư mục cũ dường như không được sử dụng nữa và chỉ chiếm rất nhiều không gian.

Đây là mẫu các tên thư mục được tạo. Như bạn có thể thấy số phiên bản ứng dụng đang được sử dụng trong tên.
EduBenesysNET_1_0_1_0
EduBenesysNET_1_0_1_1
….
EduBenesysNET_1_0_1_192
EduBenesysNET_1_0_1_193

Chúng tôi đã có 194 (zero based) được xây dựng với mỗi thư mục ở ngoài kia. Với kích thước của một bản dựng là khoảng 50mb, bạn có thể thấy cách giữ các thư mục cũ ra khỏi đó sẽ bắt đầu ăn đi ở không gian đĩa.

Cách hoạt động của ứng dụng của chúng tôi là bạn luôn phải tải xuống phiên bản mới nhất. Bạn không có tùy chọn để bỏ qua việc tải xuống vì vậy tôi hy vọng rằng việc xóa các thư mục cũ không phải là một vấn đề.

Trả lời

13

câu hỏi tốt (+1) - người ta sẽ nghĩ rằng điều này ta có thể bằng cách nào đó ...

Nhìn một chút gần gũi mặc dù tiết lộ rằng hành vi xuất bản quan sát không thực sự là một tính năng của công nghệ ClickOnce, chứ không phải một của Visual Studio Publish Wizard - xem ví dụ phần ClickOnce xuất bản thư mục cấu trúc trong ClickOnce Publishing Process:

Nếu bạn tự tạo hoặc cập nhật một ấn phẩm ứng dụng ClickOnce sử dụng hoặc Mage hoặc một công cụ tùy chỉnh, bạn đang không bị ràng buộc này cấu trúc thư mục và tập tin. Đối với bất kỳ ấn phẩm ClickOnce Đặc biệt, chuỗi phụ thuộc bao gồm: [...] [tôi nhấn mạnh]

Các Walkthrough: Manually Deploying a ClickOnce Application mang lại những kết luận tương tự, tức là cấu trúc thư mục được sử dụng bởi VS chỉ đơn giản là một (hợp lý) quy ước/cách tiếp cận.

Rất tiếc, Trình hướng dẫn xuất bản VS dường như không cung cấp xóa các phiên bản cũ hơn, ít nhất nó không hiển thị hoặc không được ghi ở đâu đó. Tuy nhiên, với cấu trúc thư mục kết quả chỉ là một tạo phẩm của quá trình xây dựng, bạn cũng có thể thêm một bước xây dựng tùy chỉnh làm việc đó - tìm ra các chi tiết (tức là truy cập các thuộc tính tự động hóa của VS để lấy phiên bản đã xuất bản cuối cùng, v.v.) ngoài phạm vi của câu hỏi của bạn mặc dù;)

về câu hỏi phụ của bạn:

tôi hy vọng rằng việc xoá bỏ các thư mục cũ không phải là một vấn đề.

Chắc chắn không phải là vấn đề, nó chỉ phụ thuộc vào số lượng bạn muốn giữ lại cho các hoạt động rollback cuối cùng, xem ví dụ: Can I delete previous old versions from Publishing Location created by ClickOnce?

+0

Tôi đã thêm câu hỏi thứ hai hỏi xem có ai viết mã để xóa các thư mục đã xuất bản không. Ý tưởng hay Opel, về việc chuyển nó thành một câu hỏi riêng biệt. Sau đó tôi sẽ liên kết lại câu hỏi này. –

2

Câu trả lời ngắn gọn là đây không phải là thứ được xây dựng trong Visual Studio hoặc triển khai ClickOnce, và bạn sẽ phải tìm cách khác để thực hiện việc này, có thể thông qua tập lệnh bạn chạy trên máy chủ của mình.

Bạn có thể xóa tất cả các phiên bản ngoại trừ phiên bản hiện tại nếu bạn đẩy cập nhật như cập nhật bắt buộc. Nếu bạn không làm điều đó, bạn sẽ muốn giữ hai phiên bản trong trường hợp người dùng quay lại phiên bản.