Де Machine.Config?


435

Я хочу застосувати зміни, щоб я міг використовувати настройки GC Server для свого додатка C # 3.5 - це можу зробити, відредагувавши machine.configфайл.

Єдина проблема - я не знаю, де це.

Як я можу знайти шлях до цього файлу повторюваним способом на кількох різних машинах

Відповіді:


585

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.


20
Напевно, варто згадати лише два [версії] каталогі, у яких ви знайдете machine.config, це v2.0.50727 і v4.0.30319, оскільки v3.0 і v3.5 використовують .NET 2.0 CLR і v4.5.x є падіння замін, тому не мають власних каталогів фреймворку. Так, і якщо вам не пощастило все-таки використовувати .NET 1.1, можливо, існує Framework / v1.1.4322 каталог.
Скотт Лерч

@ScottLerch Це не так у моїй системі. Є v1.0.3705, v1.1.4322, v2.0.50727, v3.0, v3.5 та v4.0.30319
Кевін Панько

2
@KevinPanko Так, я вже згадував про застереження про 1.1, але, мабуть, також згадував 1.0 ... просто мені не довелося мати справу ні з одним із них давно. Ви не повинні знаходити machine.config у своїх каталогах v3.0 чи v3.5, але якщо ви це зробите, я не маю поняття, чому.
Скотт Лерч

Не забудьте відкрити .config файли з блокнотом, який запускається адміністратором, щоб при збереженні чогось система не зберігала зміни в неправильній папці на основі 32 або 64 біт.
Афшин Теймурі

@AfshinTeymoori Я не впевнений на 100%, але якщо ви запускаєте блокнот у режимі не адміністратора, ви не зможете зберегти будь-які зміни, оскільки у вас немає доступу до файлу? (також якщо ви працюєте в адміністраторі або не слід змінювати, якщо ви зберігаєте в 32 або 64 бітах).
Пітер

88

Ви можете запустити це в powershell:

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

Що виводить це для .net 4:

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

Однак зауважте, що це може змінитися залежно від того, чи працює .net як 32 або 64 біт, що призведе до \Framework\або \Framework64\відповідно.


5
У PowerShell ви можете опустити "Систему". і просто використовувати [Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile. (Також спеціально це 32-бітний шлях для .NET 4.0. 64-бітний перебуває у… \ Framework64 \… #pedantry)
brianary

2
Зауважте, що це поверне 64-бітний шлях, якщо ви працюєте з 64-розрядним PowerShell.
ForNeVeR

45

Для того, щоб бути абсолютно впевненим, ляпніть ярлик на сторінці ASP.NET і запустіть цей код:

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

Я вірю, що це не залишить сумнівів!


14
Або запустити це в папері[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Даніель Літтл

16

Це напівзалежить, хоча ... моє:

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

і

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




2
  1. Відкрийте команду Windows Run. Ярлик => клавіша Windows + r
  2. Введіть "microsoft.net" - відкривається папка MS .Net
  3. Відкрийте папку "Framework" / "Framework64" (на основі вашого процесора).
  4. Виберіть конкретну папку версії FW, наприклад "v4.0.30319"
  5. Відкрити папку config
  6. Machine.config буде доступний там. Ура.

-1

Ви можете запустити це в powershell: скопіюйте та вставте в оболонку живлення [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile

шахта виходить: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.