I want to apply a change so That I can use Server GC settings for my C# 3.5 app - I can do that by editing the machine.config
file.
The only problem is I do not know where that is.
How can I find the path of this file in a repeatable way across a number of different machines
This question is related to
.net
garbage-collection
In order to be absolutely sure, slap a Label on an ASP.NET page and run this code:
labelDebug.Text = System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile;
I believe this will leave no doubt!
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
In your asp.net app use this
using System.Configuration;
Response.Write(ConfigurationManager.OpenMachineConfiguration().FilePath);
You can run this in powershell:
[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Which outputs this for .net 4:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
Note however that this might change depending on whether .net is running as 32 or 64 bit which will result in \Framework\
or \Framework64\
respectively.
It semi-depends though... mine is:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
and
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG
You can run this in powershell: copy & paste in power shell [System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
mine output is: C:\Windows\Microsoft.NET\Framework\v2.0.50527\config\machine.config
Source: Stackoverflow.com