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.50727
lub v4.0.30319
.
v3.0
i v3.5
po prostu zawierają dodatkowe zespoły, v2.0.50727
więc nie powinno ich być config\machine.config
. v4.5.x
i v4.6.x
są 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