簡體   English   中英

更新另一個應用程序的配置文件 VS2019

[英]Updating another application's Config file VS2019

簡而言之,我正在嘗試修改另一個應用程序的配置文件。 我有 2 個應用程序,App A 和 AppB。 應用程序 A 需要更改應用程序 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,對其進行操作,然后將其寫回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM