我正在試圖弄清楚我的設置將要進行的艱難時刻。我保留一個連接字符串,我找不到任何地方。到目前爲止,我瞭解到AppName.vshost.exe.config應該是調試版本,而AppName.exe.config應該是發行版,但事實並非如此,或者如果是這樣,那麼它們不會訪問默認文件夾也不是我選擇的文件夾。我不知道如果我做錯了什麼或這是微軟的「功能」,但如果任何人有線索,請填寫我。我的設置在哪裏?
我正在與VS 2015的Win 7機器上開發。我的構建 - 配置是「 Active(調試)「,我已經設置輸出路徑爲」C:\ Bin「,因爲我有其他正在構建的應用程序所需的庫,並且更容易將所有輸出路徑設置爲同一位置。
我還添加了一個文本框的形式和使用它像這樣:
public Main()
{
...
textBox1.Text = Settings.Default.Test;
...
}
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
...
Settings.Default.Test = textBox1.Text;
...
}
然後我編譯和複製從C:\ Bin到C:\ Test的exe和所需的dll。該目錄中沒有任何配置文件。
表格在文本框中出現「T」。到現在爲止還挺好。然後我將它改爲「EXE-Test」:
我關閉它並重新打開它,我的更改就在那裏。但它到底在哪裏?在我運行它的文件夾中沒有創建配置文件,就像我期望的那樣。 SQLgem.vshost.exe.config和SQLgem.exe.config文件都在我的輸出文件夾(C:\ Bin)中具有原始「T」。
C:\ Code \ SQLgem \ SQLgem \ bin \ Release沒有任何內容,這是我期望的,因爲我沒有構建發行版。 C:\ Code \ SQLgem \ SQLgem \ bin \ Debug只是有shell,新的設置(實際上我所有的設置)都不會出現在那裏。
它變得更加奇特。當我運行調試(Visual Studio),並更改「T」調試它仍然存在。那麼這個去哪裏?
所以現在有一些堅持兩個設置,但我找不到任何地方。做一個C:> dir SQLgem.exe.config/s沒有找到比我已經提到的更多的東西。
他們在哪裏?
不知何故「惠普公司」成爲嵌入式信息公司。因此,當我跟蹤第一篇文章並檢查了兩個位置時,我本能地忽略了不是我公司的文件夾。經過深入調查,我終於找到了他們!
這是什麼? %APPDATA%或%LOCALAPPDATA%?而當你說user.config你的意思是用戶或實際用戶喜歡bvoigt.config? – John
@John:位於'%LOCALAPPDATA%'下面我修正了這個問題,同時將我的評論擴展爲完整的答案。並且文件名正好是'user.config',這是以'u','s','e','r'這四個字母開始的,而不是像'%USERNAME%'這樣的當前用戶的佔位符。 ('%LOCALAPPDATA%'是用戶特定的,用戶名將出現在路徑的目錄部分,但不是文件名) –
謝謝,我發現它是因爲你的幫助。我在帖子中解釋了爲什麼我有這樣的困難。 – John