Machine.Config在哪里?


435

我想应用更改,以便可以为C#3.5应用程序使用Server GC设置-我可以通过编辑machine.config文件来实现。

唯一的问题是我不知道在哪里。

如何在许多不同的机器上以可重复的方式查找此文件的路径

Answers:


585

32位

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

64位

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

[version]应等于v1.0.3705v1.1.4322v2.0.50727v4.0.30319

v3.0并且v3.5只包含其他程序集,v2.0.50727因此应该没有config\machine.configv4.5.x并且v4.6.x存储在里面v4.0.30319


20
可能值得一提的是,您会在其中找到一个machine.config的唯一两个[version]目录是v2.0.50727和v4.0.30319,因为v3.0和v3.5使用.NET 2.0 CLR,而v4.5.x是减少替换,因此没有自己的框架目录。哦,如果您很不幸仍然无法使用.NET 1.1,那么可能会有一个Framework / v1.1.4322目录。
Scott Lerch 2014年

@ScottLerch在我的系统上不是这样。有v1.0.3705,v1.1.4322,v2.0.50727,v3.0,v3.5和v4.0.30319
Kevin Panko

2
@KevinPanko是的,我已经提到了关于1.1的警告,但也应该提到1.0 ...只是很长时间没有必要处理这两个问题。不过,您不应该在v3.0或v3.5目录中找到machine.config,如果这样做,我也不知道为什么。
Scott Lerch 2014年

切记在以管理员身份运行的记事本中打开.config文件,因此在保存某些内容时,系统不会将更改保存在基于32位或64位的错误文件夹中。
Afshin Teymoori,2016年

@AfshinTeymoori我不确定100%,但是如果您在非管理员模式下运行记事本,您将根本无法保存任何更改,因为您没有对该文件的写权限?(同样,如果以32位或64位保存,则是否以admin身份运行也不会更改)。
彼得

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。(也就是.NET 4.0 的32位路径。64位在…\ Framework64 \…#pedantry中)
brianary 2013年

2
请注意,如果您正在运行64位PowerShell,它将返回64位路径。
预告2015年

45

为了绝对确定,请在ASP.NET页上拍一个标签并运行以下代码:

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

我相信这将毫无疑问!


14
或在PowerShell中运行这个[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
丹尼尔·利特尔



2

在您的asp.net应用中使用

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

2
  1. 打开Windows运行命令。快捷键=> Windows键+ R
  2. 键入“ microsoft.net”-MS .Net文件夹打开
  3. 打开“ Framework” /“ Framework64”文件夹(基于您的处理器)。
  4. 选择特定的固件版本文件夹,例如“ v4.0.30319”
  5. 打开配置文件夹
  6. Machine.config将在那里可用。干杯。

-1

您可以在powershell中运行它:在power shell中复制并粘贴 [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile

我的输出是:C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.