Відповіді:
32-розрядні
%windir%\Microsoft.NET\Framework\[version]\config\machine.config
64-розрядні
%windir%\Microsoft.NET\Framework64\[version]\config\machine.config
[version]
має дорівнювати v1.0.3705
, v1.1.4322
, v2.0.50727
або v4.0.30319
.
v3.0
а v3.5
просто містять додаткові збірки, щоб v2.0.50727
їх не було config\machine.config
. v4.5.x
і v4.6.x
зберігаються всередині v4.0.30319
.
Ви можете запустити це в powershell:
[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Що виводить це для .net 4:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
Однак зауважте, що це може змінитися залежно від того, чи працює .net як 32 або 64 біт, що призведе до \Framework\
або \Framework64\
відповідно.
[Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
. (Також спеціально це 32-бітний шлях для .NET 4.0. 64-бітний перебуває у… \ Framework64 \… #pedantry)
Для того, щоб бути абсолютно впевненим, ляпніть ярлик на сторінці ASP.NET і запустіть цей код:
labelDebug.Text = System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile;
Я вірю, що це не залишить сумнівів!
[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Це напівзалежить, хоча ... моє:
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG
і
C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ CONFIG
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG
У додатку asp.net використовуйте це
using System.Configuration;
Response.Write(ConfigurationManager.OpenMachineConfiguration().FilePath);
Ви можете запустити це в powershell: скопіюйте та вставте в оболонку живлення [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile
шахта виходить: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config