.NET 環境変数
この記事の対象: ✔️ .NET Core 3.1 SDK 以降のバージョン
この記事では、.NET で使用される環境変数について説明します。 環境変数には、.NET ランタイムで使用されるものもあれば、.NET SDK と .NET CLI でのみ使用されるものがあります。 3 つのコンポーネントすべてで使用される環境変数もあります。
.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
に設定します。
重要
プロジェクト ファイルまたは 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_COMPLETIONS
DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
ソケットの継続は、イベント スレッドから System.Threading.ThreadPool にディスパッチされます。 これにより、イベント処理をブロックする継続が回避されます。 イベント スレッドで継続を直接実行できるようにするには、DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
を 1
に設定します。 既定では無効になっています。
メモ
必要以上に長時間にわたって 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
に設定します。
メモ
.NET 5 以降では、HttpClientHandler を使用するためのこの設定は使用できなくなりました。
DOTNET_Jit*
および DOTNET_GC*
JIT および JIT で生成される GC 情報には、JIT Stress および GC Hole Stress という 2 つのストレス関連の機能があります。 これらの機能では、開発中に、複雑なアプリケーションを開発することなく、エッジ ケースとより "実世界" のシナリオを見つけるための方法が提供されます。 次の環境変数を使用できます。
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
JIT Stress
いくつかの方法で JIT Stress を有効にすることができます。 DOTNET_JitStress
を 0 以外の整数値に設定すると、メソッド名のハッシュに基づいてさまざまなレベルの JIT 最適化が生成されます。 すべての最適化を適用するには、DOTNET_JitStress=2
などを設定します。 JIT Stress を有効にするもう 1 つの方法は、DOTNET_JitStressModeNamesOnly=1
を設定してから、DOTNET_JitStressModeNames
変数でストレス モード (スペース区切り) を要求することです。
例として、以下について考えます。
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
GC Hole Stress
GC Hole Stress を有効にすると、GC は常に特定の場所で発生するため、GC ホールを追跡するのに役立ちます。 GC Hole Stress は、DOTNET_GCStress
環境変数を使用して有効にすることができます。
詳細については、「JIT および GC Hole Stress の調査」を参照してください。
JIT メモリ バリア
Arm64 のコード ジェネレーターを使用すると、DOTNET_JitNoMemoryBarriers
を 1
に設定することにより、すべての MemoryBarriers
命令を削除できます。
DOTNET_RUNNING_IN_CONTAINER
および DOTNET_RUNNING_IN_CONTAINERS
公式の .NET イメージ (Windows および Linux) では既知の環境変数が設定されます。
DOTNET_RUNNING_IN_CONTAINER
DOTNET_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
.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 issue dotnet/runtime#79237
この環境変数は、生成された実行可能ファイル (apphosts) を介してアプリを実行する場合にのみ使用されます。 64 ビット OS 上で 32 ビット実行可能ファイルを実行する場合は、代わりに DOTNET_ROOT(x86)
が使用されます。 DOTNET_ROOT_X64
は、ARM64 OS で 64 ビット実行可能ファイルを実行するときに代わりに使用されます。
DOTNET_HOST_PATH
現在実行中の dotnet
プロセスの起動に使用された dotnet
ホスト (Windows では dotnet.exe
、Linux および macOS では dotnet
) への絶対パスを指定します。 これは、.NET SDK コマンド中に実行されるツールが、コマンドの実行中に作成する子 dotnet
プロセスに対して同じ dotnet
ランタイムを使用できるようにするために、.NET SDK によって使用されます。 dotnet
ホスト経由でバイナリを呼び出す SDK 内のツールと MSBuild タスクは、一貫性のあるエクスペリエンスを確保するために、この環境変数を受け入れる必要があります。
SDK コマンド中に dotnet
を呼び出すツールでは、次のアルゴリズムを使用して検索する必要があります。
DOTNET_HOST_PATH
が設定されている場合は、その値を直接使用します- それ以外の場合は、システムの
PATH
を介してdotnet
に依存します
メモ
DOTNET_HOST_PATH
は、dotnet
ホストを見つけるための汎用的なソリューションではありません。 これは、.NET SDK によって呼び出されるツールでのみ使用することを意図しています。
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 ルックアップ) を参照してください。
メモ
この環境変数は、.NET 6 以前のバージョンを対象とするアプリケーションにのみ適用されます。 .NET 7 以降では、.NET は 1 つの場所にあるフレームワークのみを検索します。 詳細については、「複数レベルの検索の無効化」を参照してください。
DOTNET_ROLL_FORWARD
ロール フォワード動作を決定します。 詳細については、dotnet
コマンドの --roll-forward
オプションを参照してください。
DOTNET_ROLL_FORWARD_TO_PRERELEASE
1
(有効) に設定した場合は、リリース バージョンからプレリリース バージョンへのロール フォワードが有効になります。 既定 (0
- 無効) では、.NET ランタイムのリリース バージョンが要求されるとき、インストールされているリリース バージョンのみがロール フォワードによって考慮されます。
詳細については、dotnet
コマンドの --roll-forward
オプションを参照してください
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
0
に設定されている場合、マイナー バージョンのロールフォワードを無効にします。 この設定は、.NET Core 3.0 では、DOTNET_ROLL_FORWARD
によって置き換えられます。 代わりに、新しい設定を使用する必要があります。
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_TOOLS_ALLOW_MANIFEST_IN_ROOT
.NET SDK ローカル ツールで、Windows 上のルート フォルダー内のツール マニフェスト ファイルを検索するかどうかを指定します。 既定値は、false
です。
COREHOST_TRACE
dotnet.exe
、hostfxr
、hostpolicy
などのホスティング コンポーネントからの診断トレースを制御します。
COREHOST_TRACE=[0/1]
- 既定値は0
で、トレースは無効です。1
に設定すると、診断トレースが有効になります。COREHOST_TRACEFILE=<file path>
-COREHOST_TRACE=1
を設定することによってトレースが有効になっている場合にのみ効果があります。 設定すると、指定されたファイルにトレース情報が書き込まれます。それ以外の場合、トレース情報はstderr
に書き込まれます。COREHOST_TRACE_VERBOSITY=[1/2/3/4]
- 規定値は4
です。 この設定は、COREHOST_TRACE=1
によってトレースが有効になっている場合にのみ使用されます。4
- すべてのトレース情報が書き込まれます。3
- 情報、警告、およびエラー メッセージのみが書き込まれます2
- 警告およびエラー メッセージのみが書き込まれます。1
- エラー メッセージのみが書き込まれます。
アプリケーションの起動に関して詳しいトレース情報を取得する一般的な方法は、COREHOST_TRACE=1
と COREHOST_TRACEFILE=host_trace.txt
を設定してアプリケーションを実行することです。 詳細情報を含む新しいファイル host_trace.txt
が現在のディレクトリに作成されます。
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
-lang|--language
スイッチを省略した場合に、dotnet new
コマンドの既定のプログラミング言語を構成します。 既定値は C#
です。 有効な値は、C#
、F#
、または VB
です。 詳細については、「dotnet new」を参照してください。
dotnet watch
環境変数
環境変数として使用できる dotnet watch
の設定については、dotnet watch 環境変数に関するページを参照してください。
関連項目
.NET