2016-07-13 97 views
1

我已經創建了一個控制檯應用程序(VS2015,目標框架4.5.2),並且我已經使用My Project/Settings來創建應用程序級設置。所有的文檔和在這裏stackoverflow.com上的答案告訴我(這是我一直理解它的工作方式),app.config文件是這些東西存儲的位置,我確實可以在app.config中看到這些設置,而我可以打開settings.vb查看屬性及其默認值。控制檯應用程序在哪裏存儲其設置

到目前爲止,當我編譯這個並且只在其他計算機上執行可執行文件時,它就像預期的那樣工作。我假設這是因爲settings.vb已編譯到應用程序中。

但我留下了一個應用程序,我無法更改設置。我現在在哪裏放app.config,以便我確實可以更改XML中的設置,並讓我的應用程序下次使用這些設置而不是默認設置?我希望我不必構建安裝程序或發佈,因爲對我來說,這完全破壞了控制檯應用程序的目的。

+0

我不知道你可以用'app.config'來做什麼,我想你可以用你的應用程序發佈它,但是當你第一次在計算機上啓動一個應用程序時,一個設置文件將會在一個位置生成像這樣:'%LocalAppData%\ [您的公司名稱] \ [您的應用程序名稱和其他隨機字母的版本]'。 –

+0

我沒有看到那個位置... – Jeroen

+0

最近我得到的是:'C:\ Users \ myusernamehere \ AppData \ Local' – Jeroen

回答

3

默認情況下,在app.config的設定也被嵌入到你的代碼(只是對於這種情況,像你描述......,你只是有沒有任何*.config文件中的EXE)。您可以通過更改每個設置的GenerateDefaultValueInCode來更改此行爲。

該文件有兩個部分...應用程序部分具有整個應用程序的只讀設置。用戶部分具有用戶可以更改的設置的初始默認值。

所以,只要回顧:

  • app.config =的所有設置(它被 重命名,並複製到bin
  • YourApplication.exe.config =運行時 版的設計時版本所有的設置
  • %LOCALAPPDATA%\App\Version\user.config =只是用戶的 設置他們已經取得了後部分改變
+0

有一點需要注意......應用程序的目標是框架4.5.2。在目標機器上,這個版本是不可用的,當我複製JUST可執行文件時,它優雅地降低到更低的版本。當我添加'myapplication.exe.config'時,它停止運行並要求我安裝版本4.5.2。當你編輯'config'文件時,一切都很好,只需要注意一下。 – Jeroen

相關問題