For those out there asking the question: where is my machine.config on my ASP.NET server, read on.As you all know the machine.config is the master configuration file and the Web.config files overwrite certain values (like the .htaccess overwrites the httpd.conf in Apache).
Some values – like the database transaction timeout – are machine-only settings, which mean they can’t be supplied in the Web.config file.
Instead, it must go into the machine.config. Let’s go looking for that file, shall we?
Easier said than done. Looking through some forums I figured out it was under $WINDOWS_ROOT\Microsoft .NET\Framework\v2.0*\CONFIG\machine.config (with * being the minor version of the 2.0 framework).
Two problems arise here:
- I also have a Framework64 folder under Microsoft.NET.
- I want to set it for the 3.5 version, not the 2.0 version.
Both are simple problems, but take some time to find out.
The first problem is easily tackled by going to the Task Manager and checking out whether you have w3wp.exe or w3wp*32.exe. If you have the former, go look in the Framework64 directory as you’re running the 64 bit version of the framework. If you have the latter, edit in the Framework folder.
The second problem is a bit trickier, but still easily solved. As the machine.config is related to a certain CLR version, both 2.0 and 3.5 (and hence 3.0) are on the same CLR version, so you can edit the CONFIG\machine.config in the 2.0 folder. Simple, as there is no other folder (3.*) containing a machine.config file.