2014-02-09 47 views
0

當您創建假設C#Winform應用程序並轉到項目屬性時,此選項卡稱爲設置,它允許您存儲一些變量。所以當用戶關閉應用程序並再次運行時,這些值不會丟失。因此,正如我猜想某處創建了一些文件來存儲設置選項卡中聲明的值。有人知道這個文件位於哪裏嗎?.NET Winform設置文件位置

+1

你試過谷歌嗎?或試圖輸入一些設置,然後尋找一個文件或.csproj主文件? – ilansch

+0

這取決於你如何構建你的應用程序,但是當你構建一個winforms應用程序時,默認情況下它們會被髮送到/ bin/debug或/ bin/release文件夾。通過在google中輸入*精確標題*,可以找到關於MSDN的大量信息。這應該是你的第一站。 –

+0

可能的重複[Where Properties.Default.Settings存儲?](http://stackoverflow.com/questions/982354/where-are-the-properties-default-settings-stored) – Ove

回答

3

如果您嘗試添加想要保留的設置,您將能夠在 YourApp.exe.config文件中看到它們,該文件位於構建輸出二進制文件所在的同一目錄中。

對於設置是這樣的:

enter image description here

... WindowsFormsApplication1.exe.config文件(由Visual Studio生成並放置在同一個目錄下就輸出WindowsFormsApplication1.exe)包含你添加的設置:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> 
     </sectionGroup> 
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
     </sectionGroup> 
    </configSections> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
    <userSettings> 
     <WindowsFormsApplication1.Properties.Settings> 
      <setting name="UserSetting" serializeAs="String"> 
       <value>UserValue</value> 
      </setting> 
     </WindowsFormsApplication1.Properties.Settings> 
    </userSettings> 
    <applicationSettings> 
     <WindowsFormsApplication1.Properties.Settings> 
      <setting name="AppSetting" serializeAs="String"> 
       <value>AppValue</value> 
      </setting> 
     </WindowsFormsApplication1.Properties.Settings> 
    </applicationSettings> 
</configuration> 

來自MSDN的Application Settings Architecture

  • 應用程序範圍的設置可以存儲在machine.config 或app.exe.config文件中。 Machine.config始終爲只讀,而對於大多數應用程序, app.exe.config受安全考慮因素限制爲只讀 。
  • 用戶範圍設置可以存儲在app.exe.config文件中,在這種情況下,它們被視爲靜態 默認值。
  • 非默認的用戶範圍設置存儲在一個新的文件, user.config

再往下就可以看到文件地點:

的APP.EXE的位置.config和user.config文件將根據應用程序的安裝方式而有所不同 。對於複製到本地計算機上的基於Windows窗體的 應用程序,app.exe.config將駐留在 與應用程序的主要 可執行文件的基目錄相同的目錄中,並且user.config將駐留在指定的位置 Application.LocalUserAppDataPath屬性。