2010-01-31 31 views
9

Tôi đang lập trình một ứng dụng khá đơn giản mà tôi muốn cắt chỉ thành một tệp EXE đơn giản + một số lưu trữ dữ liệu (ví dụ XML).Nơi lưu trữ cấu hình cho một ứng dụng .NET đơn giản?

Câu hỏi của tôi liên quan đến tệp cấu hình. Nơi để đưa những tập tin đó? Tôi thấy một vài ứng dụng chỉ có một tập tin EXE (uTorrent, Media Player Classic - Tôi có thể sử dụng chúng mà không cần cài đặt), nhưng chúng lưu trữ cấu hình của chúng ở một nơi khác. Làm thế nào để đạt được điều này?

Bạn sẽ tiếp cận tình huống như thế nào? Có tốt hơn để cố gắng đạt được điều tôi đã mô tả ở trên hay chỉ đơn giản là sử dụng tệp cấu hình và lưu trữ dữ liệu trong cùng thư mục với tệp EXE?

Trả lời

5

Tôi nghĩ bạn muốn xem Application Settings. Đây là API cho phép bạn lưu cài đặt người dùng hoặc ứng dụng bằng API được nhập mạnh mẽ. Dưới mui xe, các thiết lập được lưu trữ thông qua serialization XML.

API này hoạt động với hầu như mọi loại ứng dụng .Net bao gồm quyền thấp Nhấp vào Một lần phiên bản. Nó thực hiện công việc tìm vị trí trên đĩa thích hợp để lưu trữ dữ liệu và ẩn hoàn toàn nó khỏi bạn. Nó cũng có tích hợp GUI đẹp mắt vào Visual Studio.

7

Tạo hoặc sử dụng một tập tin trong cùng một thư mục (hoặc trong App_Data) là thực tế khá chuẩn.

Bạn sử dụng một trình cài đặt như Inno Setup (miễn phí) để tạo ra một trình cài đặt exe duy nhất (http://www.jrsoftware.org/isinfo.php)

Nếu bạn muốn có một DB chứ không phải là XML, có một cái nhìn tại SQLite (http://www.sqlite.org/) một tập tin dựa DB hoặc sử dụng một MS Access DB.

2

Bạn có thể sử dụng tệp app.config để lưu trữ cấu hình của mình. Đối với dữ liệu, tôi sẽ sugest một cái gì đó như db4o hoặc SQLite.

Sửa

This tutorial có thể chỉ cho bạn cách đơn giản là sử dụng DB40 để lưu trữ và lấy dữ liệu của bạn.

6

Chương trình EXE chỉ lưu trữ dữ liệu của họ trong Windows Registry hoặc trong thư mục Dữ liệu ứng dụng/AppData của người dùng. Mặc dù điều này có thể xuất hiện sạch hơn lúc đầu, nó chỉ che giấu sự xấu xí của việc phân tán tất cả dữ liệu của bạn xung quanh. Tôi sẽ đề nghị chỉ cần đi với một tập tin dữ liệu XML/INI/văn bản đơn giản được tạo ra khi cần thiết và dễ dàng di chuyển.

-1

Tôi sẽ lưu trữ chúng trong cùng một thư mục. Điều đó dường như dễ dàng hơn với tôi, ít nhất đó là cách tôi luôn làm.

+6

Điều này có thể gây ra sự cố khi ứng dụng cố gắng ghi vào tệp đó, vì người dùng bình thường không có quyền ghi trong thư mục tệp chương trình. –

1

Đừng quên Isolated Storage. Nó cung cấp cho bạn một nơi để đọc và ghi các tập tin mà không cần bạn chỉ định một vị trí. Đôi khi nó là cách duy nhất các ứng dụng sandbox (như Silverlight) có thể lưu trữ dữ liệu người dùng hoặc máy cụ thể tại địa phương. Xem here để biết ví dụ.

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