2011-11-19 38 views
4

我正在WPF中編寫程序,我遇到的問題是在VS設計器中運行在我的程序中的代碼加載SQLite數據庫。如果該文件不存在,代碼將嘗試創建空白數據庫。由設計人員運行的代碼中的相對目錄

儘管所有這些代碼在運行時都能正常工作。在設計器中,數據庫文件的相對路徑是不同的,'c:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE。由於程序無權寫入此文件夾,因此會引發異常,從而阻止我使用設計器。

如果我改變我的程序使用數據庫的絕對路徑,一切正常。設計人員甚至讀取數據庫並使用其中的數據初始化接口。

有沒有辦法改變visual studio設計器用於評估代碼的工作目錄,以便我可以繼續使用相對路徑。或者,可以通過某種方式獲取exe的位置而不是工作目錄。我試過的所有東西都會返回VS的IDE文件夾。

回答

0

db文件是否在您的項目文件夾下幷包含在項目中?這聽起來像你有一個文件引用項目'錐'之外。如果將文件直接添加到項目中,或者使用鏈接引用該文件,然後將該路徑從該副本或鏈接中移除,則此問題將消失。

+0

是的,它被添加到項目並設置爲複製到輸出目錄。它在Data \ data.s3db中。當我構建解決方案時,文件和文件夾被複制到輸出目錄。在我的連接字符串中,我有Data Source = Data \\ data.s3db。我已經註釋了那些試圖創建它的代碼,如果它不存在,現在我只是無法打開數據庫文件。 –

+0

@Android - 所以你的參考路徑總是'Data \ data.s3db'? –