Odpowiedzi:
32-bitowy
%windir%\Microsoft.NET\Framework\[version]\config\machine.config
64-bitowy
%windir%\Microsoft.NET\Framework64\[version]\config\machine.config
[version]powinna być równa v1.0.3705, v1.1.4322, v2.0.50727lub v4.0.30319.
v3.0i v3.5po prostu zawierają dodatkowe zespoły, v2.0.50727więc nie powinno ich być config\machine.config. v4.5.xi v4.6.xsą przechowywane w środku v4.0.30319.
Możesz uruchomić to w PowerShell:
[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Które wyświetla to dla .net 4:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
Zauważ jednak, że może się to zmienić w zależności od tego, czy .net działa jako 32 czy 64-bitowy, co spowoduje odpowiednio \Framework\lub \Framework64\.
[Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile. (Jest to także 32-bitowa ścieżka do .NET 4.0. 64-bit jest w… \ Framework64 \… #pedantry)
Aby mieć absolutną pewność, uderz etykietę na stronie ASP.NET i uruchom ten kod:
labelDebug.Text = System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile;
Wierzę, że to nie pozostawi wątpliwości!
[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Zależy to częściowo ... moje jest:
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG
i
C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ CONFIG
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG
W aplikacji asp.net użyj tego
using System.Configuration;
Response.Write(ConfigurationManager.OpenMachineConfiguration().FilePath);
Możesz uruchomić to w PowerShell: skopiuj i wklej w Power Shell [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile
moje dane wyjściowe to: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config