app.config の appSettings を他ファイルに記述する

前回(Web.Config の appSetting を他ファイルに記述する - kaji_3's blog)の続きです。
app.configでは前回のやり方ではNGですと言われたので対応。

環境

  • コンソールアプリケーション
  • .NET 4.0
  • VS 2010

app.config

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="ConsoleApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="ConsoleApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <appSettings file="App1.config">
    <add key="hoge" value="kaji"/>
  </appSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><userSettings>
    <ConsoleApplication1.Properties.Settings>
      <setting name="Setting" serializeAs="String">
        <value>test</value>
      </setting>
    </ConsoleApplication1.Properties.Settings>
  </userSettings>
  <applicationSettings>
    <ConsoleApplication1.Properties.Settings>
      <setting name="Setting1" serializeAs="String">
        <value>hoggegege</value>
      </setting>
    </ConsoleApplication1.Properties.Settings>
  </applicationSettings>
</configuration>

App1.config(外部設定ファイル)

<?xml version="1.0"?>
<appSettings>
  <add key="kaji" value="dao"/>
</appSettings>

はまったところ

App1.configのプロパティで、出力ディレクトリにコピーするになっていなかったのでデバッグ用出力フォルダにファイルが存在しなくて読み取る事ができなかった。。