regarding app.config
<p>I have this</p>

<pre><code>&lt;?xml version="1.0"?&gt;
&lt;configuration&gt;
  &lt;configSections&gt;
    &lt;section name="FBI" type="System.Configuration.NameValueSectionHandler" /&gt;
  &lt;/configSections&gt;
  &lt;FBI&gt;
    &lt;add key="FilePath" value="D:\C Drive\Desktop\test1.txt"/&gt;
  &lt;/FBI&gt;
&lt;configuration&gt;
</code></pre>

<p>in <code>app.config</code>..</p>

<p>And I set the <code>Copy to Output Directory</code> for <code>app.config</code> to copy if newer.</p>

<p>In the program, </p>

<pre><code>   var section = ConfigurationManager.GetSection("FBI") as NameValueCollection;
            FilePath.Text = section["FilePath"];
</code></pre>

<p>where <code>FilePath</code> is a label.</p>

<p>When I change the config file to </p>

<pre><code>D:\C Drive\Desktop\test2.txt
</code></pre>

<p>and build using VS (release mode), it shows correctly as</p>

<pre><code>D:\C Drive\Desktop\test2.txt
</code></pre>

<p>But if I change the app.config in release folder to</p>

<pre><code>D:\C Drive\Desktop\test3.txt
</code></pre>

<p>and run using the exe file in the release folder directly, it still shows me </p>

<pre><code>D:\C Drive\Desktop\test1.txt
</code></pre>

<p>without updating to <code>test3.txt</code></p>

<p>What's the reason?</p>
