2016-08-18 30 views
0

每次我使用Settings.Default.Save保存設置時,我發現在調試模式下獲得不同的設置。我認爲這是因爲.vshost.exe調試過程。.NET設置 - 在調試器下不同

我想你也會得到不同的設置,運行Debug和Release二進制文件。

有沒有一種簡單的方法可以讓所有打電話給Settings.Default.Save始終保存在同一位置?

+0

'保存'保存*用戶*設置。用戶設置根據應用程序的版本保存在不同的文件夾中。如果您使用自動版本編號,但在開始時忘記遷移設置,則每次構建應用程序時都會丟失設置。檢查這[可能重複的問題](http://stackoverflow.com/questions/534261/how-do-you-keep-user-config-settings-across-different-assembly-versions-in-net)。這實際上是有道理的,因爲它可以防止應用程序崩潰,如果設置架構變化 –

+0

我想我的問題是,這只是一個個人使用的開發工具。我只想要一組應用程序的設置。 – Derek

+0

那你爲什麼要使用每個用戶的設置?無論如何,遷移只有5行,包括括號。即使是個人工具也會中斷,以便從舊文件加載新設置 –

回答

1

你必須牢記以下幾點:

用戶設置
用戶設置保存在用戶的配置文件中,並在.exe.config文件中\bin\debug甚至app.config原始文件沒有反映。

的Visual Studio
內的Visual Studio與調試外運行當您運行Visual Studio以外的應用,用戶設置將您的個人資料中運行Visual Studio中的應用程序時比保存在不同的位置。他們被視爲是同一應用程序的不同「安裝」。

我不知道那會導致機制總是讀取同一個文件。它也可能不是你想要的。

想象一下,您已將應用程序作爲系統上的發行版運行。與此同時,您是應用程序的開發人員,您不斷添加功能,並針對某些測試系統進行測試。你會經常用實時設置覆蓋你的測試設置,反之亦然。這不是真的你想要的...

+0

我想我的問題是,這只是個人使用的開發工具。我只想要一組應用程序的設置。 – Derek