ChatGPT解决这个技术问题 Extra ChatGPT

Machine.Config 在哪里?

我想应用更改以便我可以为我的 C# 3.5 应用程序使用服务器 GC 设置 - 我可以通过编辑 machine.config 文件来做到这一点。

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

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


P
Peter

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.0v3.5 仅包含 v2.0.50727 的附加程序集,因此不应有 config\machine.configv4.5.xv4.6.x 存储在 v4.0.30319 中。


可能值得一提的是,您可以在其中找到 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 目录。
@ScottLerch 在我的系统上不是这样。有 v1.0.3705、v1.1.4322、v2.0.50727、v3.0、v3.5 和 v4.0.30319
@KevinPanko 是的,我已经提到了关于 1.1 的警告,但也应该提到 1.0 ......只是很长一段时间都不需要处理其中任何一个。但是,您不应该在 v3.0 或 v3.5 目录中找到 machine.config,如果您这样做了,那么我不知道为什么。
请记住使用以管理员身份运行的记事本打开 .config 文件,这样当您保存某些内容时,系统不会将您的更改保存在基于 32 位或 64 位的错误文件夹中。
@AfshinTeymoori我不确定100%,但是如果您在非管理员模式下运行记事本,您应该根本无法保存任何更改,因为您没有对该文件的写入权限? (如果您以 32 位或 64 位保存,则如果您以管理员身份运行,则不应更改)。
K
Kevin Panko

您可以在 powershell 中运行它:

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

为.net 4输出这个:

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

但是请注意,这可能会根据 .net 是作为 32 位还是 64 位运行而改变,这将分别导致 \Framework\\Framework64\


在 PowerShell 中,您可以省略“系统”。只需使用 [Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile。 (这也是 .NET 4.0 的 32 位 路径。64 位位于…\Framework64\…#pedantry)
请注意,如果您运行的是 64 位 PowerShell,这将返回 64 位路径。
s
sshow

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

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

我相信这将毫无疑问!


或者在 powershell [System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile 中运行它
T
Timothy Khouri

它半取决于...我的是:

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

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


A
Andrius Naruševičius

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


J
John Saunders

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


H
Hosein Djadidi

在你的 asp.net 应用程序中使用这个

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

Z
Zlatan

这是一个迟到的回复,但如果有人仍然希望打开 machine.config 并查看/更新配置,这里有一个使用 powershell 的 IIS 配置示例

$machineConfig = [System.Configuration.ConfigurationManager]::OpenMachineConfiguration()

$deployment = $machineConfig.GetSection("system.web/deployment")

$deplyment.Retail = $true

$machineconfig.save()

l
lazydeveloper

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

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