3

http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.configsource%28VS.85%29.aspxで少し下にあるコードを使用して、アプリケーション設定を配置しようとしています外部ファイルですが、それを機能させることはできません。

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings">
          <section name="ConsoleApplication1.Settings" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <ConsoleApplication1.Settings configSource="externalSettings.config" />
    </applicationSettings>
</configuration>

externalSettings.config:

<ConsoleApplication1.Settings>
  <setting name="TestSetting" serializeAs="String">
    <value>Hello</value>
  </setting>
</ConsoleApplication1.Settings>

通常どおりに設定を使用しようとしています:

var test = ConsoleApplication1.Settings.Default.TestSetting;
4

2 に答える 2

0

私は同じ問題に遭遇しました。構成で正しい名前空間を使用して解決されました

設定クラス:

namespace ConsoleApp1.Properties {


[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {

    private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

    public static Settings Default {
        get {
            return defaultInstance;
        }
    }

    [global::System.Configuration.ApplicationScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public string TestSetting {
        get {
            return ((string)(this["TestSetting"]));
        }
    }
}
}

利用方法:

var test = ConsoleApp1.Properties.Settings.Default.TestSetting;

構成:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  <section name="ConsoleApp1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />      
</sectionGroup>
</configSections>
  <applicationSettings>
    <Settings configSource="externalSettings.config" />
  </applicationSettings>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
  </startup>
</configuration>

externalSettings.config:

<ConsoleApp1.Settings>
<setting name="TestSetting" serializeAs="String">
 <value>Hello</value>
</setting>
</ConsoleApp1.Settings>
于 2019-05-31T14:49:05.410 に答える
-1

この投稿をチェック

別の .config ファイルの AppSettings が更新されない

ソリューションと比較するだけです

    <appSettings file="Settings.config">
    <add key="RestartApp" value="-1" />
  </appSettings>


  <appSettings>
    <add key="AppTitle" value="MVC Web Access" />
    <add key="DefaultWebpage" />
    <add key="CustomCSS" />
    <add key="TktsEmailTo" value="email@email.com" />
    <add key="EmailFrom" value="email@email.com" />
    <add key="EmailFromSMTP" value="mail.email.com" />
    <add key="EmailFromPW" value="fakePassword" />
  </appSettings>


  <appSettings file="Settings.config">
    <add key="RestartApp" value="-1" />
    <add key="AppTitle" value="New title" />
    <add key="DefaultWebpage" value="index.aspx" />
    <add key="CustomCSS" />
    <add key="TktsEmailTo" value="newemail@email.com" />
    <add key="EmailFrom" value="newemail@email.com" />
    <add key="EmailFromSMTP" value="mail.email.com" />
    <add key="EmailFromPW" value="NewFakePassword" />
  </appSettings>

このアプローチで appSettings を別のファイルに正常に移動しました

それが役に立てば幸い

于 2013-04-19T13:30:17.703 に答える