I changed the target .NET framework of my WPF app from 3.5 to 4.0.

After making this change, I noticed that an app.config file was generated by VS2010 and placed in the main project folder. Its build action is set to "none -- do not copy".

This app.config file contains the following XML:

```
<?xml version="1.0"?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
</configuration>

```

The .csproj file for my project contains:

```
<Project
    ToolsVersion="4.0" DefaultTargets="Build"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

```

**Questions:**

1. What is the difference in meaning between `<supportedRuntime version="4.0"` in app.config and `<Project ToolsVersion="4.0"` in .csproj? Does one override the other or do they actually mean different things?
2. Does the app.config file do anything if not copied to the output directory?
3. Can I delete the app.config file without breaking anything?

**Edit**

One more question:

If I create a WPF 4.0 app from scratch, why is no app.config file created by default? (And doesn't this imply that the file is unnecessary?)