この記事では、.NET で使用される環境変数について説明します。 環境変数には、.NET ランタイムで使用されるものもあれば、.NET SDK と .NET CLI でのみ使用されるものがあります。 3 つのコンポーネントすべてで使用される環境変数もあります。
.NET ランタイムの環境変数
このセクションでは、次の環境変数を定義します。
DOTNET_SYSTEM_NET_HTTP_*DOTNET_SYSTEM_GLOBALIZATION_*DOTNET_SYSTEM_GLOBALIZATION_USENLSDOTNET_SYSTEM_NET_SOCKETS_*DOTNET_SYSTEM_NET_DISABLEIPV6DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER-
DOTNET_RUNNING_IN_CONTAINERとDOTNET_RUNNING_IN_CONTAINERS DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION-
DOTNET_SYSTEM_DIAGNOSTICSおよび関連する変数 DOTNET_DiagnosticPortsDOTNET_DefaultDiagnosticPortSuspendDOTNET_EnableDiagnosticsDOTNET_EnableDiagnostics_IPCDOTNET_EnableDiagnostics_DebuggerDOTNET_EnableDiagnostics_Profiler- EventPipe 変数
.NET ランタイムの構成の詳細については、「 .NET ランタイムの構成設定」を参照してください。
DOTNET_SYSTEM_NET_HTTP_*
グローバル HTTP 環境変数の設定はいくつかあります。
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION- グローバル HTTP 設定の診断ハンドラーのアクティビティの伝達を有効にするかどうかを示します。
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT-
falseまたは0に設定すると、HTTP/2 のサポートが無効になります。これは既定では有効になっています。
-
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT-
trueまたは1に設定すると、HTTP/3 のサポートが有効になります。これは既定では無効になっています。
-
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING-
falseまたは0に設定すると、既定値がオーバーライドされ、HTTP/2 の動的ウィンドウ スケーリング アルゴリズムが無効になります。
-
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE- 既定値は 16 MB です。 オーバーライドされた場合、HTTP/2 ストリーム受信ウィンドウの最大サイズを 65,535 より小さくすることはできません。
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER- 既定値は 1.0 です。 オーバーライドされた場合、値が大きいほど、ウィンドウは短くなりますが、ダウンロードは遅くなります。 0 より小さくすることはできません。
DOTNET_SYSTEM_GLOBALIZATION_*
-
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: 「インバリアント モードの設定」を参照してください。 -
DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: 定義済みのカルチャのみを読み込むかどうかを指定します。 -
DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU: アプリローカル International Components of Unicode (ICU) を使用するかどうかを示します。 詳細については、「アプリローカル ICU」を参照してください。
インバリアント モードを設定する
アプリケーションでは、次のいずれかの方法でインバリアント モードを有効にすることができます。
プロジェクト ファイルで次を実行します。
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>runtimeconfig.json ファイルでは、次のようにします。
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }環境変数の値
DOTNET_SYSTEM_GLOBALIZATION_INVARIANTをtrueまたは1に設定します。
Important
プロジェクト ファイルまたは runtimeconfig.json に設定される値は、環境変数よりも優先度が高くなります。
詳細については、「.NET グローバリゼーション インバリアント モード」を参照してください。
DOTNET_SYSTEM_GLOBALIZATION_USENLS
これは Windows にのみ適用されます。 グローバリゼーションで各国語サポート (NLS) を使用するには、DOTNET_SYSTEM_GLOBALIZATION_USENLS を true または 1 に設定します。 これを使用しないようにするには、DOTNET_SYSTEM_GLOBALIZATION_USENLS を false または 0 に設定します。
DOTNET_SYSTEM_NET_SOCKETS_*
このセクションでは、次の 2 つの System.Net.Sockets 環境変数について説明します。
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSDOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
ソケットの継続は、イベント スレッドから System.Threading.ThreadPool にディスパッチされます。 これにより、イベント処理をブロックする継続が回避されます。 イベント スレッドで継続を直接実行できるようにするには、DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS を 1 に設定します。 既定では無効になっています。
Note
必要以上に長時間にわたって IO スレッドに保持することになるコストのかかる作業がある場合、この設定によりパフォーマンスが低下する可能性があります。 テストを行い、この設定によりパフォーマンスが向上することを確認してください。
非常に高い負荷のかかる状態で小さなソケットの読み取りと書き込みを多数行う TechEmpower ベンチマークを使用すると、1 つのソケット エンジンで、最大 30 個の x64 および 8 個の Arm64 CPU コアをビジー状態に保つことができます。 実際の大部分のシナリオでは、このような非常に大きな負荷 (1 秒あたり数十万もの要求) が生じることはなく、ほとんどの場合、1 つのプロデューサーで十分です。 しかし、極端な負荷を処理できることを確認するために、DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT を使用して計算された値をオーバーライドすることができます。 オーバーライドされていない場合は、次の値が使用されます。
-
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSが1である場合は、Environment.ProcessorCount 値が使用されます。 -
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSが1でない場合は、RuntimeInformation.ProcessArchitecture が評価されます。- Arm または Arm64 の場合、エンジンあたりのコア数の値が
8に設定され、それ以外の場合は30となります。
- Arm または Arm64 の場合、エンジンあたりのコア数の値が
- エンジンごとに決定されたコアを使用する場合、最大値は
1、またはエンジンあたりのコア数を超える Environment.ProcessorCount となります。
DOTNET_SYSTEM_NET_DISABLEIPV6
インターネット プロトコル バージョン 6 (IPv6) が無効になっているかどうかを判断するのに役立ちます。
true または 1 に設定すると、System.AppContext で特に指定されていない限り、IPv6 は無効になります。
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
次のいずれかのメカニズムを使って、古い HttpClientHandler を使用するようにプロセスを構成できます。
コードから、AppContext クラスを使用します。
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext スイッチは、config ファイルで設定することもできます。 スイッチの構成について詳しくは、「ライブラリ コンシューマー向け AppContext」を参照してください。
環境変数 DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER を使用して同じことを実現できます。 オプトアウトするには、値を false または 0 に設定します。
Note
.NET 5 以降では、HttpClientHandler を使用するためのこの設定は使用できなくなりました。
DOTNET_RUNNING_IN_CONTAINER および DOTNET_RUNNING_IN_CONTAINERS
公式の .NET イメージ (Windows および Linux) では既知の環境変数が設定されます。
DOTNET_RUNNING_IN_CONTAINERDOTNET_RUNNING_IN_CONTAINERS
これらの値は、ASP.NET Core ワークロードがコンテナーのコンテキストでいつ実行されるかを判断するために使用されます。
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Console.IsOutputRedirected が true である場合は、DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION を 1 または true に設定することによって、ANSI カラー コードを出力できます。
DOTNET_SYSTEM_DIAGNOSTICS および関連する変数
-
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL:1またはtrueの場合、既定の [アクティビティ ID] は階層形式となります。 -
DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: デバッグとして実行している場合は、これがtrueであれば、トレースを有効にすることができます。
DOTNET_DiagnosticPorts
診断ツールが .NET ランタイムと通信できる代替エンドポイントを構成します。 詳細については、診断ポートのドキュメントを参照してください。
DOTNET_DefaultDiagnosticPortSuspend
起動時に一時停止するようにランタイムを構成し、1 に設定された場合、指定された診断ポートからの ''診断 IPC ResumeStartup'' コマンドを待ちます。 既定値は 0 です。 詳細については、診断ポートのドキュメントを参照してください。
DOTNET_EnableDiagnostics
0 に設定すると、診断ポートを介したデバッグ、プロファイル、その他の診断は無効になります。また、他の診断設定でオーバーライドすることはできません。 既定値は 1 です。
DOTNET_EnableDiagnostics_IPC
.NET 8 以降では、0 に設定すると、診断ポートは無効になります。また、他の診断設定でオーバーライドすることはできません。 既定値は 1 です。
DOTNET_EnableDiagnostics_Debugger
.NET 8 以降では、0 に設定すると、デバッグは無効になります。また、他の診断設定でオーバーライドすることはできません。 既定値は 1 です。
DOTNET_EnableDiagnostics_Profiler
.NET 8 以降では、0 に設定すると、プロファイルは無効になります。また、他の診断設定でオーバーライドすることはできません。 既定値は 1 です。
EventPipe 変数
詳細については、EventPipe の環境変数のページを参照してください。
-
DOTNET_EnableEventPipe:1に設定すると、EventPipe を介したトレースが有効になります。 -
DOTNET_EventPipeOutputPath: トレースが書き込まれる出力パス。 -
DOTNET_EventPipeOutputStreaming:1に設定すると、アプリの実行中に出力ファイルへのストリーミングが有効になります。 既定では、トレース情報は循環バッファーに蓄積され、コンテンツはアプリのシャットダウン時に書き込まれます。
.NET SDK と CLI 環境変数
このセクションでは、次の環境変数について説明します。
-
DOTNET_ROOT、DOTNET_ROOT(x86)、DOTNET_ROOT_X86、DOTNET_ROOT_X64 DOTNET_HOST_PATHDOTNET_LAUNCH_PROFILENUGET_PACKAGESDOTNET_SERVICINGDOTNET_NOLOGODOTNET_CLI_PERF_LOGDOTNET_GENERATE_ASPNET_CERTIFICATEDOTNET_ADD_GLOBAL_TOOLS_TO_PATHDOTNET_CLI_TELEMETRY_OPTOUTDOTNET_SKIP_FIRST_TIME_EXPERIENCEDOTNET_MULTILEVEL_LOOKUPDOTNET_ROLL_FORWARDDOTNET_ROLL_FORWARD_TO_PRERELEASEDOTNET_CLI_FORCE_UTF8_ENCODINGDOTNET_CLI_UI_LANGUAGEDOTNET_DISABLE_GUI_ERRORSDOTNET_ADDITIONAL_DEPSDOTNET_RUNTIME_IDDOTNET_SHARED_STOREDOTNET_STARTUP_HOOKSDOTNET_BUNDLE_EXTRACT_BASE_DIRDOTNET_CLI_HOMEDOTNET_CLI_CONTEXT_*DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLEDOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURSDOTNET_SKIP_WORKLOAD_INTEGRITY_CHECKDOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOTDOTNET_HOST_TRACECOREHOST_TRACESuppressNETCoreSdkPreviewMessage- .NET CLI で MSBuild を構成する
DOTNET_NEW_PREFERRED_LANG-
dotnet watch環境変数
DOTNET_ROOT、 DOTNET_ROOT(x86)、 DOTNET_ROOT_X86、 DOTNET_ROOT_X64
.NET ランタイムが既定の場所にインストールされていない場合、その場所を指定します。 Windows 上の既定の場所は C:\Program Files\dotnet です。 macOS 上の既定の場所は /usr/local/share/dotnet です。 arm64 OS 上の x64 ランタイムの既定の場所は x64 サブフォルダーの下にあります (そのため、windows では C:\Program Files\dotnet\x64 、macOS では /usr/local/share/dotnet/x64 。 Linux の既定の場所は、ディストリビューションとインストールの方法によって異なります。 Ubuntu 22.04 の既定の場所は 、 /usr/share/dotnet (packages.microsoft.com からインストールされている場合) または /usr/lib/dotnet (Jammy フィードからインストールされている場合) です。 詳細については、次のリソースを参照してください。
- アプリの起動失敗のトラブルシューティング
- GitHub issue dotnet/core#7699
- GitHub イシュー dotnet/runtime#79237
これらの環境変数は、生成された実行可能ファイル (apphosts) を介してアプリを実行する場合にのみ使用されます。 環境変数が考慮される順序は次のとおりです。
-
DOTNET_ROOT_<ARCH><ARCH>は実行中の実行可能ファイル (apphost) のアーキテクチャです。 例えば:-
DOTNET_ROOT_ARM64は Arm64 プロセスに使用されます。 -
DOTNET_ROOT_X64は x64 プロセスに使用されます。 このプロセスは、x64 または Arm64 アーキテクチャで実行されている可能性があります。 -
DOTNET_ROOT_X86は x86 プロセスに使用されます。 このプロセスは、x86 または x64 アーキテクチャで実行されている可能性があります。
-
-
DOTNET_ROOT(x86)は、32 ビット プロセスが 64 ビット Windows で実行されている場合に使用されます。 それ以外の場合、この環境変数は無視されます。 -
DOTNET_ROOT。
DOTNET_HOST_PATH
dotnet ホストへの絶対パスを指定します (Windows ではdotnet.exe、Linux と macOS ではdotnet)。 このパスは、現在実行中の dotnet プロセスを起動するために使用されるホスト、または MSBuild で実行するときに現在ビルド中のプロジェクトの dotnet コマンドを実行するときに使用されるホストを表します。 .NET SDK では、この変数を使用して、.NET SDK コマンド中に実行されるツールが、コマンドの実行中に作成する子dotnetプロセスに対して同じdotnet ホスト構成を使用できるようにします。 ビルド内で実行され、 dotnet ホスト経由でバイナリを呼び出すツールと MSBuild ロジックは、一貫性のあるエクスペリエンスを確保するために、この環境変数を受け入れる必要があります。
Visual Studio 2026 以降、 Visual Studio の MSBuild では、.NET SDK プロジェクトのすべてのビルドに対して DOTNET_HOST_PATH が確実に設定されます。 最大限の一貫性を得るために、ビルドを生成したのと 同じ dotnet バイナリ を使用するすべての MSBuild ツールとロジックは、 DOTNET_HOST_PATH に依存し、変数が存在しない場合は診断 (警告またはエラー) の出力を検討する必要があります。
Note
DOTNET_HOST_PATH は、dotnet ホストを見つけるための汎用的なソリューションではありません。 これは、.NET SDK または MSBuild によって呼び出されるバイナリとツールでのみ使用することを目的としています。
DOTNET_LAUNCH_PROFILE
dotnet run コマンドは、この変数を選択した起動プロファイルに設定します。
次の launchSettings.json ファイル
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
および次の Program.cs が与えられると
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
以下のシナリオでは、示されているとおりの出力が生成されます。
起動プロファイルが指定され存在する
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=First起動プロファイルが指定されず、最初の起動プロファイルが選択される
$ dotnet run DOTNET_LAUNCH_PROFILE=First起動プロファイルが指定されるが、存在しない
$ dotnet run --launch-profile Third The launch profile "Third" could not be applied. A launch profile with the name 'Third' doesn't exist. DOTNET_LAUNCH_PROFILE=プロファイルなしで起動する
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
グローバル パッケージ フォルダー。 設定されていない場合は、既定で ~/.nuget/packages (Unix の場合) または %userprofile%\.nuget\packages (Windows の場合) になります。
DOTNET_SERVICING
ランタイムの読み込み時に共有ホストで使用するサービス インデックスの場所を指定します。
DOTNET_NOLOGO
最初の実行時に .NET のウェルカムおよびテレメトリ メッセージを表示するかどうかを指定します。
true に設定すると、これらのメッセージは表示されません (値 true、1、または yes が受け入れられます)。false に設定するとそれらが許可されます (値 false、0、または no が受け入れられます)。 設定しない場合、既定値は false であり、最初の実行時にメッセージが表示されます。 このフラグはテレメトリには影響しません (テレメトリの送信のオプトアウトについては、「DOTNET_CLI_TELEMETRY_OPTOUT」を参照)。
DOTNET_CLI_PERF_LOG
現在の CLI セッションに関するパフォーマンスの詳細をログに記録するかどうかを指定します。
1、true、または yes に設定されている場合は有効になります。 これは、既定では無効になっています。
DOTNET_GENERATE_ASPNET_CERTIFICATE
ASP.NET Core 証明書を生成するかどうかを指定します。 既定値は true ですが、これは、この環境変数を 0、false、または no に設定することによって、オーバーライドできます。
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
PATH 環境変数にグローバル ツールを追加するかどうかを指定します。 既定値は、true です。 グローバル ツールをパスに追加しないようにするには、0、false、または no に設定します。
DOTNET_CLI_TELEMETRY_OPTOUT
.NET ツールの使用に関するデータを収集し、Microsoft に送信するかどうかを指定します。
true に設定するとテレメトリ機能が無効になります (指定できる値は true、1、または yes です)。 それ以外の場合は、テレメトリ機能にオプトインするように false に設定します (値 false、 0、または受け入れられる no )。 設定されていない場合、既定で false になり、テレメトリ機能はアクティブになります。
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
DOTNET_SKIP_FIRST_TIME_EXPERIENCE が true に設定されている場合、NuGetFallbackFolder はディスクに展開されず、短いウェルカム メッセージとテレメトリ通知が表示されます。
Note
この環境変数は、.NET Core 3.0 以降ではサポートされなくなりました。
代わりに DOTNET_NOLOGO を使用します。
DOTNET_MULTILEVEL_LOOKUP
.NET ランタイム、共有フレームワーク、または SDK がグローバルな場所から解決されるかどうかを指定します。 設定されていない場合、既定値は 1 (論理 true) です。 グローバルな場所から解決せず、.NET インストールを分離するには、値を 0 (論理 false) に設定します。 複数レベルのルックアップの詳細については、「Multi-level SharedFX Lookup」 (複数レベルの SharedFX ルックアップ) を参照してください。
Note
この環境変数は、.NET 6 以前のバージョンを対象とするアプリケーションにのみ適用されます。 .NET 7 以降では、.NET は 1 つの場所にあるフレームワークのみを検索します。 詳細については、「複数レベルの検索の無効化」を参照してください。
DOTNET_ROLL_FORWARD
ロール フォワード動作を決定します。 詳細については、--roll-forward コマンドの dotnet オプションを参照してください。
DOTNET_ROLL_FORWARD_TO_PRERELEASE
1 (有効) に設定した場合は、リリース バージョンからプレリリース バージョンへのロール フォワードが有効になります。 既定 (0 - 無効) では、.NET ランタイムのリリース バージョンが要求されるとき、インストールされているリリース バージョンのみがロール フォワードによって考慮されます。
詳細については、--roll-forward コマンドの dotnet オプションを参照してください。
DOTNET_CLI_FORCE_UTF8_ENCODING
UTF-8 を完全にサポートしていない古いバージョンのWindows 10 でも、コンソールで UTF-8 エンコードを強制的に使用します。 詳しくは、SDK で完了後にコンソール エンコードが変更されなくなった を参照してください。
DOTNET_CLI_UI_LANGUAGE
en-us などのロケール値を使用して、CLI UI の言語を設定します。 サポートされている値は、Visual Studio の場合と同じです。 詳細については、Visual Studio のインストール ドキュメントのインストーラーの言語を変更する方法に関するセクションを参照してください。 .NET リソース マネージャーの規則が適用されるため、完全一致を選択する必要はありません。CultureInfo ツリーで子孫を選択することもできます。 たとえば、fr-CA に設定すると、CLI によって fr の翻訳が検索され、使用されます。 サポートされていない言語に設定すると、CLI は英語にフォールバックします。
DOTNET_DISABLE_GUI_ERRORS
GUI 対応の生成された実行可能ファイルの場合、通常は特定のクラスのエラーに対して表示されるダイアログ ポップアップが無効になります。 この場合、stderr にのみ書き込まれ、終了します。
DOTNET_ADDITIONAL_DEPS
CLI オプション --additional-deps に相当します。
DOTNET_RUNTIME_ID
検出された RID をオーバーライドします。
DOTNET_SHARED_STORE
アセンブリの解決がフォールバックする "共有ストア" の場所。
DOTNET_STARTUP_HOOKS
スタートアップ フックを読み込み、実行するアセンブリの一覧。
DOTNET_BUNDLE_EXTRACT_BASE_DIR
単一ファイル アプリケーションが実行前に抽出されるディレクトリを指定します。
詳細については、「単一ファイルの実行可能ファイル」を参照してください。
DOTNET_CLI_HOME
.NET CLI コマンドのサポート ファイルの書き込み先となる場所を指定します。 例えば次が挙げられます。
- ワークロード パック、マニフェスト、およびその他のサポート データのユーザーが書き込み可能なパス。
- .NET CLI の初回実行時の移行と通知エクスペリエンスの側面を示す最初の実行 sentinel/lock ファイル。
- 既定の .NET ローカル ツールのインストール場所。
DOTNET_CLI_CONTEXT_*
-
DOTNET_CLI_CONTEXT_VERBOSE: 詳細コンテキストを有効にするには、trueに設定します。 -
DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: ANSI パススルーを有効にするには、trueに設定します。
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
ワークロードの広告マニフェストのバックグラウンド ダウンロードを無効にします。 既定値は false (無効でない) です。
true に設定すると、ダウンロードは無効になります。 詳細については、「広告マニフェスト」を参照してください。
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
ワークロードの広告マニフェストのバックグラウンド ダウンロード間の最小時間数を指定します。 既定値は 24 で、1 日に 1 回以下の頻度です。 詳細については、「広告マニフェスト」を参照してください。
DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK
初回実行時にワークロード整合性チェックをスキップするかどうかを指定します。 整合性チェックにより、以前の機能バンドのワークロードに現在インストールされている SDK からアクセスできるようになります。 チェックをスキップするには、値を true、 1、または yes に設定します。 既定値は false です。つまり、整合性チェックが実行されます。
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
.NET SDK ローカル ツールで、Windows 上のルート フォルダー内のツール マニフェスト ファイルを検索するかどうかを指定します。 既定値は、false です。
DOTNET_HOST_TRACE
この変数は、.NET 10 以降のバージョンに適用されます。 古いバージョンの場合は、 DOTNET_HOST_ プレフィックスを COREHOST_に置き換えます。
dotnet.exe、hostfxr、hostpolicy などのホスティング コンポーネントからの診断トレースを制御します。
DOTNET_HOST_TRACE=[0/1]- 既定値は0で、トレースは無効です。1に設定すると、診断トレースが有効になります。DOTNET_HOST_TRACEFILE=<file path>-DOTNET_HOST_TRACE=1を設定することによってトレースが有効になっている場合にのみ効果があります。 設定すると、指定されたファイルにトレース情報が書き込まれます。それ以外の場合、トレース情報はstderrに書き込まれます。DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]- 規定値は4です。 この設定は、DOTNET_HOST_TRACE=1によってトレースが有効になっている場合にのみ使用されます。-
4- すべてのトレース情報が書き込まれます。 -
3- 情報、警告、およびエラー メッセージのみが書き込まれます -
2- 警告およびエラー メッセージのみが書き込まれます。 -
1- エラー メッセージのみが書き込まれます。
-
アプリケーションの起動に関する詳細なトレース情報を取得する一般的な方法は、 DOTNET_HOST_TRACE=1 と DOTNET_HOST_TRACEFILE=host_trace.txt を設定してから、アプリケーションを実行することです。 詳細情報を含む新しいファイル host_trace.txt が現在のディレクトリに作成されます。
COREHOST_TRACE
dotnet.exe、hostfxr、hostpolicy などのホスティング コンポーネントからの診断トレースを制御します。
Note
.NET 10 以降では、代わりに DOTNET_HOST_TRACE 環境変数を使用します。
COREHOST_TRACE変数は、DOTNET_HOST_TRACE変数と同じように動作します。
-
COREHOST_TRACE-DOTNET_HOST_TRACEを参照してください。 -
COREHOST_TRACEFILE-DOTNET_HOST_TRACEFILEを参照してください。 -
COREHOST_TRACE_VERBOSITY-DOTNET_HOST_TRACE_VERBOSITYを参照してください。
SuppressNETCoreSdkPreviewMessage
true に設定すると、プレビュー SDK を使用している場合に dotnet を呼び出しても警告が表示されません。
.NET CLI で MSBuild を構成する
MSBuild をアウトプロセスで実行するには、DOTNET_CLI_RUN_MSBUILD_OUTOFPROC 環境変数を 1、true、または yes に設定します。 既定では、MSBuild はインプロセスで実行されます。 プロジェクトをビルドするために外部の作業ノードの長時間のプロセスを MSBuild で使用するように強制するには、DOTNET_CLI_USE_MSBUILDNOINPROCNODE を 1、true、または yes に設定します。 これにより、MSBUILDNOINPROCNODE 環境変数が 1 に設定されます。これは MSBuild Server V1 と呼ばれます。これは、エントリ処理によってほとんどの作業がそこに転送されるためです。
DOTNET_MSBUILD_SDK_RESOLVER_*
これらは、解決された SDK のタスクとターゲットを特定のベース ディレクトリから強制的に取得し、特定のバージョンを MSBuild に報告するために使用されるオーバーライドです (不明な場合は null である可能性があります)。 この主なユース ケースの 1 つは、.NET Core SDK を使用して、SDK のタスクとターゲットをデプロイせずにテストすることです。
-
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR: .NET SDK ディレクトリをオーバーライドします。 -
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER: .NET SDK のバージョンをオーバーライドします。 -
DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: dotnet.exe ディレクトリ パスをオーバーライドします。
DOTNET_NEW_PREFERRED_LANG
dotnet new スイッチを省略した場合に、-lang|--language コマンドの既定のプログラミング言語を構成します。 既定値は C# です。 有効な値は、C#、F#、または VB です。 詳細については、「dotnet new」を参照してください。
dotnet watch 環境変数
環境変数として使用できる dotnet watch の設定については、dotnet watch 環境変数に関するページを参照してください。
こちらも参照ください
.NET