2010-01-31 256 views
9

我正在編寫一個相當簡單的應用程序,我想將其切割成一個簡單的EXE文件+一些數據存儲(例如XML)。在哪裏存儲簡單的.NET應用程序的配置?

我的問題是關於配置文件。在哪裏放置這些文件?我看到一些只有EXE文件的應用程序(uTorrent,Media Player Classic - 我可以在沒有任何安裝的情況下使用它們),但是它們將配置存儲在其他地方。如何實現這一目標?

你會如何處理這種情況?嘗試實現上述內容還是更好一些,或者只是在EXE文件所在的目錄中使用配置文件和數據存儲?

回答

5

我想你想看看Application Settings。這是一個API,它允許您使用強類型API保存用戶或應用程序設置。在引擎蓋下,設置通過XML序列化存儲。

此API適用於幾乎所有類型的.Net應用程序,包括低權限點擊一次版本。它會在磁盤上找到適合存儲數據的地方,並將其完全隱藏起來。它還在Visual Studio中集成了一個很好的GUI。

7

創建或使用在同一文件夾(或在App_Data)的文件是非常標準的做法。

您使用安裝程序一樣Inno Setup的(免費)如果你想有一個數據庫,而不是XML創建一個單一的EXE安裝程序(http://www.jrsoftware.org/isinfo.php

,看看SQLite的(http://www.sqlite.org/)基於文件的數據庫或使用一個MS Access數據庫。

2

您可以使用app.config文件來存儲您的配置。對於這些數據,我會申請類似db4oSQLite

編輯

This tutorial可以告訴你是多麼的簡單使用DB40來存儲和檢索數據。

6

EXE-only程序將其數據存儲在Windows註冊表或用戶的Application Data/AppData文件夾中。儘管起初它看起來更乾淨,但它掩蓋了散佈所有數據的醜陋。我建議僅使用一個簡單的XML/INI /文本數據文件,該文件在需要時生成並易於遷移。

-1

我會將它們存儲在同一個目錄中。這對我來說似乎更容易,至少這是我一直這樣做的方式。

+6

當應用程序嘗試寫入該文件時,這可能會產生問題,因爲普通用戶在程序文件目錄中沒有寫權限。 – 2010-01-31 15:47:06

1

別忘了Isolated Storage。它爲您提供了一個讀取和寫入文件的地方,而無需指定位置。有時候,沙盒應用程序(如Silverlight)可以在本地存儲用戶或計算機的特定數據。一個例子見here

相關問題