Machine.Configはどこにありますか?


435

C#3.5アプリでサーバーGC設定を使用できるように変更を適用したいのですが、machine.configファイルを編集して変更できます。

唯一の問題は、それがどこにあるのかわからないことです。

このファイルのパスを複数の異なるマシン間で再現可能な方法で見つけるにはどうすればよいですか

回答:


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.50727またはv4.0.30319

v3.0そしてv3.5ちょうどするために追加のアセンブリが含まれていないv2.0.50727ので、何があるはずですconfig\machine.configv4.5.xv4.6.x内部に格納されv4.0.30319ます。


20
v3.0とv3.5は.NET 2.0 CLRとv4.5.xを使用しているため、machine.configがv2.0.50727とv4.0.30319である2つの[バージョン]ディレクトリのみを言及することはおそらく価値があります。独自のフレームワークディレクトリを用意しないでください。ああ、それでも.NET 1.1を使用できるほど運が悪い場合は、Framework / v1.1.4322ディレクトリがある可能性があります。
Scott Lerch、

@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

管理者として実行されているメモ帳で.configファイルを開くことを忘れないでください。何かを保存するときに、システムが32ビットまたは64ビットに基づく間違ったフォルダーに変更を保存しないようにします。
Afshin Teymoori 2016年

@AfshinTeymoori 100%確信はありませんが、管理者以外のモードでメモ帳を実行すると、ファイルへの書き込みアクセス権がないため、変更をまったく保存できません。(また、32ビットまたは64ビットで保存する場合、管理者で実行するかどうかは変更しないでください)。
Peter

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

2
64ビットのPowerShellを実行している場合は、64ビットのパスが返されることに注意してください。
ForNeVeR 2015

45

確実に確認するために、ASP.NETページでラベルをたたいて、次のコードを実行します。

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

これは間違いないだろうと思います!


14
またはこれをpowershellで実行する[System.Runtime.InteropServices.RuntimeEnvironment]::SystemConfigurationFile
Daniel Little

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. 設定フォルダを開く
  6. Machine.configが利用可能になります。乾杯。

-1

これをpowershellで実行できます:power shellにコピーして貼り付けます [System.Runtime.InteropServices.RuntimeEnvironment] :: SystemConfigurationFile

私の出力は次のとおりです:C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50527 \ config \ machine.config

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.