相关疑难解决方法(0)

.NET配置(app.config/web.config/settings.settings)

我有一个.NET应用程序,它具有用于Debug和Release版本的不同配置文件.例如调试app.config文件指向一个发展的SQL Server具有调试启用,并公布目标指向活的SQL Server.还有其他设置,其中一些在调试/发布中有所不同.

我目前使用两个单独的配置文件(debug.app.config和release.app.config).我在项目上有一个构建事件,它说如果这是一个发布版本,那么将release.app.config复制到app.config,否则将debug.app.config复制到app.config.

问题是应用程序似乎从settings.settings文件中获取其设置,因此我必须在Visual Studio中打开settings.settings,然后提示我设置已更改,因此我接受更改,保存settings.settings并具有重建以使其使用正确的设置.

是否有更好/推荐/首选的方法来实现类似的效果?或者同样,我接近这个完全错误并且有更好的方法吗?

.net c# vb.net asp.net configuration

161
推荐指数
8
解决办法
9万
查看次数

如何动态加载单独的应用程序设置文件并与当前设置合并?

有关从单独的配置文件中读取设置的问题以及与其类似的其他配置文件,但我的问题是特定于应用程序属性设置(即<MyApplication.Properties.Settings>- 请参阅下面的XML文件)以及如何动态加载它们.我在这篇文章中尝试了这个方法,其中包括刷新主配置文件的整个appSettings部分,但我的改编引发了异常,因为我没有替换appSettings部分:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
// Have tried the other ConfigurationUserLevels to no avail
config.AppSettings.File = myRuntimeConfigFilePath;
config.Save(ConfigurationSaveMode.Modified); // throws ConfigurationErrorsException
ConfigurationManager.RefreshSection("userSettings");
Run Code Online (Sandbox Code Playgroud)

ConfigurationErrorsException.Message是"根元素必须与引用文件的部分的名称匹配'appSettings'(C:\ myFile.xml第2行)." 该文件是:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <MyApplication.Properties.Settings>
            <setting name="SineWaveFrequency" serializeAs="String">
                <value>6</value>
            </setting>
            <setting name="SineWaveAmplitude" serializeAs="String">
                <value>6</value>
            </setting>
        </MyApplication.Properties.Settings>
    </userSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有没有办法将此文件中的值导入到MyApplication.Properties.Settings.Default类中,框架处理所有XML反序列化,就像在应用程序启动时加载配置文件一样?

.net settings persistence configuration-files

9
推荐指数
1
解决办法
2万
查看次数