2015-10-06 79 views
2

我有一個C#項目,並且我添加了一個Access文件(.mdbNew Data Source選項。如何爲C#添加相對路徑DB文件

所以它的一個副本總是在我的項目文件夾。現在我的連接字符串使用該路徑(C:\ Users \ PC \ Visual Studio \ Projects ....)。如果我將項目移動到另一個目錄或機器,我必須手動更改路徑。但是如果我將應用程序設置爲可安裝的,這可能是不可能的。

如何使相對於項目的數據庫路徑?

+0

您是否嘗試使用相對路徑:例如「\ DATA \了MyDatabase.mdb」? – Vova

回答

1

配置安裝程序時,您需要指定.mdb文件將轉到哪個文件夾。您可以選擇將其放在與應用程序的.exe文件相同的文件夾中,也可以放在應用程序的文件夾下AppData或用戶的個人文件夾或任何您喜歡的其他位置。就像您將其指定給安裝程序一樣,您可以使用枚舉Environment.SpecialFolder在代碼中指定它。

問題是,在開發過程中,您的.mdb文件通常位於項目文件夾的根目錄中,這與上述內容不符。

我所做的是,首先,在項目選項中,我確保當我的應用程序在開發過程中啓動時,它始終在我項目的根文件夾中啓動,而不是在./bin/Debug文件夾中啓動。

然後,每當我的應用程序啓動時,我檢查我的.mdb文件是否在應用程序的當前目錄中,如果是,那麼這必須是開發運行,所以我使用它。

否則,這必須是部署運行,因此我使用SpecialFolder枚舉來獲取安裝程序應該放置文件的文件夾。

1

我建議使用:System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

你可以看到這個question以供參考。