title: Is app.config required in .Net 4.0 C# projects?
body: <p>Much to my annoyance, Visual Studio 2010 added App.config files to all of my .EXE projects when I changed the target from .NET Framework 3.5 to .NET Framework 4.0.  So my automated build broke until I checked those new files in.</p>
  
  <p>Is there any particular reason I can't just delete these App.config files?  Or is Visual Studio going to keep adding them to my projects?</p>
  
  <p>I'll refrain from ranting about a tool that adds useless files to my projects . . .</p>
  
  <p>Clarification:</p>
  
  <p>I understand what <code>app.config</code> is for.  What I don't understand is why Visual Studio 2010 would add an <code>app.config</code> file to an existing project when I change the project to target .NET 4.0 rather than .NET 3.5.  My application doesn't require anything from app.config in order to run, so my only reasonable conclusion would be that either Visual Studio for some reason needs the app.config in order to compile, or somebody decided that they know better than me and my application must have an app.config even though I don't want one.</p>
  
  <p>Oops ... I ranted.</p>
  
  <p>Further clarification:</p>
  
  <p>Converting a project from Visual Studio 2008 to Visual Studio 2010 is not the problem.  It's when I change the target from .NET Framework 3.5 to .NET Framework 4.0 that the app.config gets added to the project.  The app.config contains this:</p>
  
  <pre><code>&lt;configuration&gt;
    &lt;startup&gt;
      &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/&gt;
    &lt;/startup&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>When I change it back to target .NET Framework 3.5, the app.config file is modified to read:</p>
  
  <pre><code>&lt;supportedRuntime version="v2.0.50727"/&gt;
  </code></pre>
  
  <p>I think I see what they're trying to do, but adding that app.config file automatically was a really bad idea.</p>