.NET 환경 변수
이 문서의 적용 대상: ✔️ .NET Core 3.1 SDK 이상 버전
이 문서에서는 .NET에서 사용되는 환경 변수에 대해 알아봅니다. 일부 환경 변수는 .NET 런타임에서 사용되고 다른 변수는 .NET SDK 및 .NET CLI에서만 사용됩니다. 일부 환경 변수는 세 가지 구성 요소 모두에서 사용됩니다.
.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
- 기본값은 16MB입니다. 재정의되는 경우 HTTP/2 스트림 수신 기간의 최대 크기가 65535보다 작아야 합니다.
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
: 앱 로컬 ICU(International Components of Unicode)를 사용할지 여부를 나타냅니다. 자세한 내용은 앱 로컬 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_*
이 섹션에서는 두 가지 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 벤치마크를 사용하면, 단일 소켓 엔진이 최대 30개의 x64 및 8개의 Arm64 CPU 코어로 계속 작업을 수행할 수 있습니다. 대다수의 실제 시나리오는 이렇게 큰 부하(초당 수십만 건의 요청)를 절대 생성하지 않으며 단일 생산자만 있으면 거의 항상 충분합니다. 그러나 극단적인 부하를 처리할 수 있도록 하기 위해 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
IPv6(인터넷 프로토콜 버전 6)을 사용하지 않도록 설정되었는지 여부를 확인하는 데 도움이 됩니다. true
또는 1
로 설정된 경우 System.AppContext에 달리 지정되지 않는 한 IPv6은 사용하지 않도록 설정됩니다.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
다음 메커니즘 중 하나를 사용하여 이전 HttpClientHandler
를 사용하도록 프로세스를 구성할 수 있습니다.
코드에서 AppContext
클래스를 사용합니다.
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext
스위치는 구성 파일로 설정할 수도 있습니다. 스위치 구성에 대한 자세한 내용은 라이브러리 소비자를 위한 AppContext를 참조하세요.
환경 변수 DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
를 통해 동일한 구현이 가능합니다. 옵트아웃하려면 값을 false
또는 0
중 하나로 설정합니다.
참고 항목
.NET 5부터 HttpClientHandler를 사용하기 위한 이 설정을 더 이상 사용할 수 없습니다.
DOTNET_Jit*
및 DOTNET_GC*
JIT 및 JIT 생성 GC 정보에는 JIT 스트레스 및 GC Hole 스트레스라는 두 가지 스트레스 관련 기능이 있습니다. 이러한 기능을 사용하면 개발 중에 복잡한 애플리케이션을 개발하지 않고도 에지 케이스와 "실제" 시나리오를 더 많이 발견할 수 있습니다. 다음 환경 변수를 사용할 수 있습니다.
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
JIT 스트레스
JIT 스트레스를 사용하도록 설정하는 방법은 여러 가지가 있습니다. 메서드 이름의 해시를 기반으로 다양한 수준의 JIT 최적화를 생성하려면 DOTNET_JitStress
를 0이 아닌 정수 값으로 설정합니다. 예를 들어 모든 최적화를 적용하려면 DOTNET_JitStress=2
를 설정합니다. JIT 스트레스를 활성화하는 또 다른 방법은 DOTNET_JitStressModeNamesOnly=1
을 설정한 다음, DOTNET_JitStressModeNames
변수에서 공백으로 구분된 스트레스 모드를 요청하는 것입니다.
예를 들어 다음을 고려하십시오.
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
GC Hole 스트레스
GC Hole 스트레스를 사용하도록 설정하면 GC가 항상 특정 위치에서 발생하여 GC Hole을 추적하는 데 도움이 됩니다. DOTNET_GCStress
환경 변수를 사용하여 GC Hole 스트레스를 사용하도록 설정할 수 있습니다.
자세한 내용은 JIT 및 GC Hole 스트레스 조사를 참조하세요.
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
인 경우 기본 Activity Id 형식은 계층적입니다.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: 디버그로 실행할 때 이 값이true
이면 추적을 사용하도록 설정할 수 있습니다.
DOTNET_DiagnosticPorts
진단 도구가 .NET 런타임과 통신할 수 있는 대체 엔드포인트를 구성합니다. 자세한 내용은 진단 포트 설명서를 참조하세요.
DOTNET_DefaultDiagnosticPortSuspend
1로 설정된 경우 시작하는 동안 일시 중지하고 지정된 진단 포트의 Diagnostics 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
및 /usr/local/share/dotnet/x64
macOS에서). Linux의 기본 위치는 distro 및 설치 방법에 따라 다릅니다. Ubuntu 22.04의 기본 위치는 /usr/share/dotnet
(packages.microsoft.com
에서 설치된 경우) 또는 /usr/lib/dotnet
(Jammy 피드에서 설치된 경우)입니다. 자세한 내용은 다음 리소스를 참조하세요.
- 앱 시작 실패 문제 해결
- GitHub 문제 dotnet/core#7699
- GitHub 문제 dotnet/runtime#79237
이 환경 변수는 생성된 실행 파일(apphost)을 통해 앱을 실행할 때만 사용됩니다. 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에서 .NET SDK 명령 중에 실행되는 도구가 명령 기간 동안 만드는 모든 자식 dotnet
프로세스에 대해 동일한 dotnet
런타임을 사용하는지 확인하는 데 사용됩니다. 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
글로벌 패키지 폴더입니다. 설정하지 않으면 기본적으로 Unix에서는 ~/.nuget/packages
, Windows에서는 %userprofile%\.nuget\packages
로 지정됩니다.
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
가 허용됨). 그렇지 않으면 원격 분석 기능(값 또는 no
수락됨)에 옵트인0
하도록 설정합니다false
.false
설정하지 않으면 기본적으로 false
이고 원격 분석 기능은 활성화됩니다.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
가 true
로 설정된 경우 NuGetFallbackFolder
는 디스크로 확장되지 않으며 더 짧은 시작 메시지와 원격 분석 알림이 표시됩니다.
참고 항목
이 환경 변수는 .NET Core 3.0 이상에서 더 이상 지원되지 않습니다.
대신 DOTNET_NOLOGO
를 사용합니다.
DOTNET_MULTILEVEL_LOOKUP
전역 위치에서 .NET 런타임, 공유 프레임워크 또는 SDK가 확인되는지 여부를 지정합니다. 설정하지 않은 경우 기본값은 1(논리적 true
)입니다. 전역 위치에서 확인하지 않고 .NET 설치를 격리하려면 값을 0(논리적 false
)으로 설정합니다. 다중 수준의 조회에 대한 자세한 내용은 다중 수준 SharedFX 조회를 참조하세요.
참고 항목
이 환경 변수는 .NET 6 및 이전 버전을 대상으로 하는 애플리케이션에만 적용됩니다. .NET 7부터 .NET은 한 위치에서만 프레임워크를 찾습니다. 자세한 내용은 다단계 조회가 사용하지 않도록 설정됨을 참조하세요.
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
이며 하루의 최대 횟수입니다. 자세한 내용은 광고 매니페스트를 참조하세요.
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
로 설정된 경우 dotnet
을 호출하면 미리 보기 SDK가 사용되고 있을 때 경고가 생성되지 않습니다.
.NET CLI에서 MSBuild 구성
MSBuild를 out-of-process로 실행하려면 DOTNET_CLI_RUN_MSBUILD_OUTOFPROC
환경 변수를 1
, true
또는 yes
로 설정합니다. 기본적으로 MSBuild는 in-proc으로 실행됩니다. MSBuild가 외부 작업 노드 장기 프로세스를 사용하여 프로젝트를 빌드하도록 하려면 DOTNET_CLI_USE_MSBUILDNOINPROCNODE
를 1
, true
또는 yes
로 설정합니다. 그러면 MSBUILDNOINPROCNODE
환경 변수가 1
로 설정되며, 이것을 MSBuild Server V1이라고 합니다. 입력 프로세스가 여기에 대부분의 작업을 전달하기 때문입니다.
DOTNET_MSBUILD_SDK_RESOLVER_*
해결된 SDK 작업 및 대상이 지정된 기본 디렉터리에서 오도록 하고 지정된 버전을 MSBuild에 보고하는 데 사용되는 재정의이며, 알 수 없는 경우 null
일 수 있습니다. 이에 대한 한 가지 주요 사용 사례는 .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