title: What use has the default (assembly).dll.config file for .NET-Assemblies?
body: <p>I have a question regarding AppSettings in C#.
  First I´ll describe my situation.</p>
  
  <p>My solution consists of an executable program <code>program.exe</code> and an <code>assembly.dll</code>.</p>
  
  <p>The program references the assembly and works with it. The assembly-project has application settings set up with the Visual Studio project settings manager. Now when I compile my solution in my <code>assembly\bin\release</code> folder there is an <code>assembly.dll.config</code> file which contains the settings I have set up earlier.</p>
  
  <p>Now the thing I don´t understand : in my program-project where I reference the <code>assembly.dll</code> I have checked <code>CopyLocal=True</code>, but in my <code>program\bin\release</code> folder there is only the <code>assembly.dll</code> but not the assembly.dll.config file BUT STILL the <code>assembly.dll</code> knows the settings I have set up in the assembly-project application settings.</p>
  
  <p>Now I have read several times that assemblies always access the settings of the executable program but the program has no corresponding settings, so why does the assembly know the correct settings when there is no <code>assembly.dll.config</code> file present?</p>
  
  <p>I assume the settings are compiled into the assembly at compiletime (of course), but then it makes no sense that in my assembly\bin\release folder there actually IS an assembly.dll.config file.</p>
  
  <p>I tried copying this file into my <code>program\bin\release</code> folder where the <code>assembly.dll</code> is copied to on build action, but the <code>assembly.dll</code> just ignores if there is an <code>assembly.dll.config</code> file present in the same folder. It always uses the settings from compiletime. I just don´t understand the use of the <code>assembly.dll.config</code> file. Why is it created when it never has impact on the <code>assembly.dll´s</code> behaviour ?</p>