¿Dónde está Machine.Config?


435

Quiero aplicar un cambio para poder usar la configuración del servidor GC para mi aplicación C # 3.5. Puedo hacerlo editando el machine.configarchivo.

El único problema es que no sé dónde está eso.

¿Cómo puedo encontrar la ruta de este archivo de forma repetible en varias máquinas diferentes?

Respuestas:


585

32 bits

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64 bits

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config 

[version]debe ser igual a v1.0.3705, v1.1.4322, v2.0.50727o v4.0.30319.

v3.0y v3.5solo contienen conjuntos adicionales para v2.0.50727que no haya config\machine.config. v4.5.xy v4.6.xse almacenan en el interior v4.0.30319.


20
Probablemente valga la pena mencionar los dos únicos directorios [de versión] en los que encontrará un machine.config en v2.0.50727 y v4.0.30319, ya que v3.0 y v3.5 usan .NET 2.0 CLR y v4.5.x son colocar reemplazos para no tener sus propios directorios de framework. Ah, y si tiene la mala suerte de seguir usando .NET 1.1, puede haber un directorio Framework / v1.1.4322.
Scott Lerch

@ScottLerch Eso no es cierto en mi sistema. Hay v1.0.3705, v1.1.4322, v2.0.50727, v3.0, v3.5 y v4.0.30319
Kevin Panko

2
@KevinPanko sí, ya mencioné la advertencia sobre 1.1, pero también debería haber mencionado 1.0 también ... simplemente no he tenido que lidiar con ninguno de ellos en mucho tiempo. Sin embargo, no debería encontrar un machine.config en sus directorios v3.0 o v3.5, si lo hace, entonces no tengo idea de por qué.
Scott Lerch

Recuerde abrir archivos .config con un bloc de notas que se ejecuta como administrador para que cuando guarde algo, el sistema no guarde los cambios en una carpeta incorrecta basada en 32 o 64 bits.
Afshin Teymoori

@AfshinTeymoori No estoy 100% seguro, pero si ejecuta el bloc de notas en modo no administrativo, ¿no debería poder guardar ningún cambio ya que no tiene acceso de escritura al archivo? (también si se ejecuta en admin o no, no debería cambiar si guarda en 32 o 64 bits).
Peter

88

Puede ejecutar esto en powershell:

[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile

Lo que genera esto para .net 4:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config

Sin embargo, tenga en cuenta que esto puede cambiar dependiendo de si .net se ejecuta como 32 o 64 bits, lo que resultará en \Framework\o \Framework64\respectivamente.


55
En PowerShell, puede omitir el "Sistema". y solo utilízalo [Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile. (También esa es específicamente la ruta de 32 bits para .NET 4.0. 64 bits está en ... \ Framework64 \ ... #pedantry)
brianary

2
Tenga en cuenta que esto devolverá la ruta de 64 bits si está ejecutando PowerShell de 64 bits.
ForNeVeR

45

Para estar absolutamente seguro, coloque una etiqueta en una página ASP.NET y ejecute este código:

labelDebug.Text = System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile;

¡Creo que esto no dejará ninguna duda!


14
O ejecute esto en powershell[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Daniel Little

16

Sin embargo, casi depende ... el mío es:

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG

y

C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ CONFIG



2

En su aplicación asp.net use esto

using System.Configuration;
Response.Write(ConfigurationManager.OpenMachineConfiguration().FilePath);

2
  1. Abra el comando Ejecutar de Windows. Atajo => tecla de windows + r
  2. Escriba "microsoft.net": se abre la carpeta MS .Net
  3. Abra la carpeta "Framework" / "Framework64" (según su procesador).
  4. Seleccione una carpeta de versión de FW específica, por ejemplo, "v4.0.30319"
  5. Abrir carpeta de configuración
  6. Machine.config estará disponible allí. Salud.

-1

Puede ejecutar esto en powershell: copiar y pegar en power shell [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile

la salida de la mina es: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.