2012-08-22 24 views
5

tôi đang tạo ra một tập tin sử dụng:Chúng tôi có thể chỉ định phiên bản tệp khi tạo tệp trong C# không?

File.WriteAllText(FILEPATHNAME, "SOME VALUE"); 

Khi tạo một tập tin, là nó có thể chỉ định một phiên bản lập trình? Vì vậy, nếu ai đó đã sử dụng đối tượng FileVersionInfo họ sẽ nhận được phiên bản tôi đã chỉ định?

+1

có thể bạn sẽ lưu phiên bản bên trong tệp, dưới dạng dòng văn bản. – Adam

+0

Xin chào, đây thực sự là một tệp đặc biệt cần nội dung được định dạng theo cách cụ thể, vì vậy tôi có thể không có thông tin phiên bản đặc biệt trong chính tệp văn bản. Cảm ơn câu trả lời của bạn. – user1202434

Trả lời

2

Không, không có cách nào để viết phiên bản tệp trong theo cách đó, cũng như tôi không nhận thức được, trung thực.

Tùy chọn có thể là:

Viết phiên bản tệp vào chính tệp trong một số dữ liệu được định dạng.

Cách tiếp cận phổ biến nhất mà tôi thấy, là viết vào phần đầu của tệp hoặc trên dòng đầu tiên của tệp. Vì vậy, bạn có thể truy cập nhanh thông tin đó và quyết định quá trình có đọc hay không.

+0

Xin chào, đây thực sự là một tệp đặc biệt cần nội dung được định dạng theo cách cụ thể, vì vậy tôi có thể không có thông tin phiên bản đặc biệt trong chính tệp văn bản. Cảm ơn câu trả lời của bạn. – user1202434

+2

@ user1202434: nếu bạn không thể thay đổi định dạng của tệp, có một tùy chọn khác (không chắc chắn nếu nó phù hợp với yêu cầu của bạn) đang tạo định dạng của bạn với thư mục nén (nói). Vì vậy, bạn có thể bao gồm tệp kê khai với bất kỳ thông tin nào bạn muốn. Ví dụ, ví dụ, định dạng MS DOCX hoạt động (đó là một thư mục nén đơn giản với nhiều tệp bên trong). – Tigran

+0

cảm ơn đề xuất. Tôi phải xem liệu nó có hiệu quả với tôi không..cho tôi thử. – user1202434

4

FileVersionInfo là tài nguyên nhị phân có thể được lưu trữ trong tệp thi hành. Tuy nhiên, bạn đang viết một tệp văn bản và những tệp đó không thể chứa tài nguyên nhị phân. Yêu cầu phiên bản (như được định nghĩa bởi FileVersionInfo) của tệp văn bản có ý nghĩa

3

Thật không may, điều đó là không thể. Thông tin phiên bản là tài nguyên được nhúng được đính kèm vào tệp và chỉ các tệp nhị phân mới có thể có tài nguyên được nhúng.

Xem phần nhận xét của FileVersionInfo Class để biết thêm thông tin.

Là phương pháp thay thế, bạn có thể tạo tệp văn bản bổ sung cho từng tệp văn bản bạn đang viết chứa thông tin phiên bản.

1

Nếu bạn thực sự thực sự không thể nhập phiên bản vào chính tệp đó, có thể thử đặt phiên bản vào "luồng dữ liệu thay thế" NTFS (ADS).

Bạn sẽ cần phải biết mình đang làm gì, vì nó có màn hình riêng.

+0

Cảm ơn bạn đã trả lời ... tìm hiểu điều gì đó mới mỗi ngày. Không bao giờ biết về "QUẢNG CÁO" trước ngày hôm nay. – user1202434

+0

@ user1202434: Rất vui khi bạn đã học được điều gì đó! Đó là lý do tôi đề cập đến nó. :) Btw, đó cũng là cách Explorer lưu trữ thông tin Tóm tắt về một số tệp ... chúng hữu ích trong một số trường hợp, nhưng bạn phải lưu ý rằng chúng có thể bị mất trên các bản sao lưu/tệp/vv và đã giành được ' làm việc nếu người dùng đang sử dụng một hệ thống tệp khác. Nó thường là một giải pháp nguy hiểm, trừ khi bạn biết * chính xác * những gì bạn đang làm ... cũng lưu ý rằng NET có thể không hỗ trợ điều này ra khỏi hộp, tôi không biết. – Mehrdad

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