.NET different application settings for development and release

前端 未结 7 1060
慢半拍i
慢半拍i 2021-01-18 04:06

I am using VS2010 C#.NET 3.5 and application settings (the Settings.settings file). What I want to do is have different settings for my development and production environmen

相关标签:
7条回答
  • 2021-01-18 04:30

    we use a NAnt script to build our solution, replace setting values in the config file, run tests and publish.

    It's fairly straight forward once you've set it up once or twice.

    0 讨论(0)
  • 2021-01-18 04:33

    We never override our web.config file on the production systems. If additional settings/keys are added, we paste them in at the time of publishing.

    0 讨论(0)
  • 2021-01-18 04:33

    I think this is the lack of xxx.config files. That's why I use own config manager which can be used with different configurations on each machine where application is installed/executed.

    0 讨论(0)
  • 2021-01-18 04:38

    Or you can just create separate config files and call them:

    Release.settings

    Debug.settings

    then setup conditional build events that copy the appropriate .config file to Settings.Settings

    
    if $(ConfigurationName) == Debug xcopy debug.settings settings.settings
    if $(ConfigurationName) == Release xcopy release.settings settings.settings
    

    0 讨论(0)
  • 2021-01-18 04:48

    You can conditionally include items in build process, like

    <ItemGroup Condition=" '$(Configuration)' == 'Debug' " ...
    

    see https://stackoverflow.com/a/2093289/254109

    0 讨论(0)
  • 2021-01-18 04:52

    If you use web deployment projects, you can set it up so that different parts of your web.config will be replaced. You can read more about them here: http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx.

    Another approach, that we actually take at my current job is to have multiple web.config files - 1 for each environment (e.g. web.config, web.config.production). Then when we build for deployment, we use msbuild to automatically swap web.config.production in as the web.config.

    0 讨论(0)
提交回复
热议问题