更新另一个应用程序的配置文件VS2019

问题描述

简而言之,我试图修改另一个应用程序的配置文件。我有2个应用,App A和AppB。 App A需要更改App B的配置文件。如何通过更新如下所示的配置文件中的applicationSettings部分来进行操作?

   <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <applicationSettings>
            <Sample.Settings1>
                <setting name="DBUser" serializeAs="String">
                  <value>sa</value>
                </setting>
                <setting name="DBPass" serializeAs="String">
                  <value>Sample12345</value>
                </setting>
                <setting name="DBServer" serializeAs="String">
                  <value>.\SQL2017</value>
                </setting>
                <setting name="DBCatalog" serializeAs="String">
                  <value>SMPL</value>
                </setting>
            </Sample.Settings1>
        </applicationSettings>
    <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

这是我在运行应用程序A时将其添加到其中的方式。但是应用程序B使用applicationSettings值而不是AppSettings值。

enter code here
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="server" value=".\SQL2017" />
        <add key="catalog" value="SMPL" />
        <add key="UserID" value="sa" />
        <add key="Pwd" value="Sample12345" />
    </appSettings>
    <applicationSettings>
        <Sample.Settings1>
            <setting name="DBUser" serializeAs="String">
              <value>sa</value>
            </setting>
            <setting name="DBPass" serializeAs="String">
              <value>Sample12345</value>
            </setting>
            <setting name="DBServer" serializeAs="String">
              <value>.\SQL2017</value>
            </setting>
            <setting name="DBCatalog" serializeAs="String">
              <value>SMPL</value>
            </setting>
        </Sample.Settings1>
    </applicationSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup></configuration>

解决方法

我认为这是您正在寻找的非常简单的示例。

    var pathToConfig = @"C:\somepath";
// Using ExeConfigurationFileMap so you can grab the app.config directly.
// Load the config based on the path
  var configMap = new ExeConfigurationFileMap { ExeConfigFilename = pathToConfig };
  var config = ConfigurationManager.OpenMappedExeConfiguration(configMap,ConfigurationUserLevel.None);
    
    //Make whatever changes you want in code here
    var s = config.Sections.Get("applicationSettings");
    // cast s to whatever section type you want,make changes,and then save.

    // Save it,either back to where you found it,or somewhere else
    config.SaveAs(pathToConfig);

或者,您可以将其作为XML加载,进行处理,然后将其写回。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...