Note
dotnetup 는 공개 미리보기로 제공됩니다. 해당 기능 및 동작은 정식 출시 전에 변경될 수 있습니다.
이 문서에서는 일반적인 dotnetup 문제와 문제를 해결하는 방법을 설명합니다.
진단 정보 수집
문제를 해결하기 전에 다음 정보를 수집합니다.
dotnetup버전, 아키텍처, 런타임 식별자 및 확인된 설치를 표시합니다.dotnetup --info추적되는 설치 사양 및 설치를 표시하고 디스크의 파일을 확인합니다.
dotnetup list저장된 환경 구성을 현재 환경과 비교합니다.
dotnetup env show자세한 출력을 사용하여 실패한 명령을 다시 실행합니다. 다음은 그 예입니다.
dotnetup sdk install 10.0 --verbosity detailed
프로젝트가 빌드되지 않거나 설치 후 앱이 시작되지 않음
증상: Windows에서 dotnetup 모드로 everywhere을 설정한 후, 이전에 빌드되던 프로젝트가 이제 빌드되지 않습니다. 또는 프레임워크 종속 앱에 다음 오류가 표시됩니다.
You must install or update .NET to run this application.
원인:everywhere 모드에서는 dotnetup 관리형 설치가 Program Files의 컴퓨터 전체 설치보다 우선합니다. 시스템 전체 설치에만 존재하는 SDK 및 런타임은 사용할 수 없습니다.
해결 방법: 컴퓨터 전체 SDK 및 런타임을 dotnetup 관리형 설치로 마이그레이션합니다.
dotnetup sdk install --migrate-from-system
dotnetup runtime install --migrate-from-system
또는 shell 또는 none 액세스 모드로 변경합니다. 자세한 내용은 Everywhere 모드 고려 사항을 참조하세요.
dotnet은 dotnetup 관리형 설치를 사용하지 않습니다.
증상: 터미널의 dotnet 명령은 dotnetup가 설치한 SDK를 사용하지 않습니다.
원인:dotnetup에서 환경을 변경하기 전에 터미널이 열려 있었거나 환경 구성이 저장된 구성과 일치하지 않습니다.
Solution:
새 터미널을 엽니다. 셸 프로필 또는 Windows 환경 변수에 대한 변경 내용은 이미 열려 있는 터미널에 영향을 주지 않습니다.
dotnetup env show을 실행합니다. 드리프트가 보고되면dotnetup env set를 실행하여 저장된 구성을 다시 적용합니다.현재 터미널만 구성하려면
dotnetup env script의 출력을 평가하십시오. 예를 들어 Bash 또는 zsh에서는:eval "$(dotnetup env script)"PowerShell에서:
dotnetup env script --shell pwsh | Invoke-Expression
자세한 내용은 dotnetup 환경 관리를 참조하세요.
설치 경로에 추적되지 않은 설치가 이미 포함되어 있습니다.
증상: 다음 오류로 설치 명령이 실패합니다.
The install path '<path>' already contains a .NET installation that is not tracked by dotnetup. To avoid conflicts, use a different install path, remove the existing installation first, or use the --untracked option to install without tracking.
원인:dotnetup는 추적된 파일을, 추적하지 않는 .NET 설치가 포함된 폴더에 설치하지 않습니다. 이 검사는 dotnetup가 다른 도구가 소유한 파일과 해당 파일을 혼합하지 못하도록 방지합니다.
해결 방법: 다음 중 하나를 수행하세요:
-
--install-path옵션으로 다른 폴더를 선택합니다. - 폴더에 있는 기존 설치를 제거합니다.
- 다른 도구가 폴더를 소유하고 있으면 이
--untracked옵션을 사용합니다.dotnetup추적되지 않은 파일을 나열, 업데이트 또는 제거하지 않습니다.
자세한 내용은 사용자 지정 설치 루트 관리를 참조하세요.
dotnet 실행 파일이 사용 중임
증상: Windows에서 설치 명령을 실행하면 이 메시지와 유사한 경고를 표시합니다.
Warning: Could not update dotnet executable at '<path>' - it is currently in use by another process. Close all running .NET applications and try again. The existing muxer will be retained. ...
원인: 실행 중인 프로세스는 dotnet 실행 파일을 사용하므로 dotnetup가 이를 바꿀 수 없습니다. 기존 실행 파일을 사용하여 설치를 계속합니다 dotnet .
새 런타임에는 더 최신 버전의 dotnet 실행 파일이 필요할 수 있습니다.
해결 방법: 실행 중인 모든 .NET 앱, IDE 및 빌드 서버를 닫습니다. 그런 다음 설치 명령을 다시 실행합니다. 경고를 표시하며 계속 진행하는 대신 명령이 실패하도록 하려면 이 --require-muxer-update 옵션을 사용합니다.
다른 dotnetup 프로세스가 실행 중입니다.
증상: 명령은 이 메시지를 표시한 후 대기합니다.
Another dotnetup process is running. Waiting for it to finish...
원인:dotnetup 공유 설치 상태에 대한 변경 내용을 serialize합니다. 다른 dotnetup 명령은 동일한 상태를 변경하고 있습니다.
해결 방법: 다른 명령이 완료되기를 기다립니다. 다른 dotnetup 프로세스가 실행되지 않는 경우 응답하지 않는 dotnetup 프로세스를 찾아 종료합니다.
자체 업데이트가 실행 파일을 대체하지 않음
증상:dotnetup self update에서 업데이트가 적용되지 않았다고 보고합니다.
원인: 선택한 채널이 동일한 버전이거나 이전 버전입니다.
또한 공식 일일 빌드는 preview 레이블을 가지며 기본적으로 미리 보기 채널로 설정됩니다.
해결 방법: 매일 빌드를 유지하려면 다음을 실행 dotnetup self update --channel daily합니다.
의도적으로 최신 미리 보기로 다시 설치하거나 다운그레이드하려면 다음을 실행합니다 dotnetup self update --channel preview --force.
자체 업데이트 실패
증상:dotnetup self update는 실행 파일 위치, 권한, 확인 또는 다른 활성 명령으로 인해 실패합니다.
Solution:
-
dotnet호스트 또는 실행 파일 기호 링크를 통하지 않고 실제 설치 디렉터리에서 독립 실행형 실행 파일을 실행합니다. - 설치 디렉터리에 대한 쓰기 권한이 있는지 확인하세요.
- 다른 명령이 잠금을 보유 중이면 해당 명령이 완료될 때까지 기다린 후 다시 시도합니다.
- 확인에 실패하면 체크섬 또는 서명 검사를 우회하지 마세요. 실패를 보고하세요.
- 실행 파일이 더 이상 실행되지 않으면 다운로드 스크립트를 사용하여 다시 설치합니다.
명령을 인식하지 못하는 이전 빌드의 경우 다운로드 스크립트를 사용하여 현재 프리뷰 버전을 설치합니다. 확인 및 서명되지 않은 다운로드 정책 세부 정보는 dotnetup 실행 파일을 참조하세요.
매니페스트가 손상되었습니다.
증상: 다음 오류로 명령이 실패합니다.
The dotnetup manifest at <path> is corrupt. Consider deleting it and re-running the install.
이 메시지는 파일이 dotnetup 외부에서 수정되었다고 말할 수도 있습니다.
원인:dotnetup_manifest.json 파일이 유효하지 않습니다. 다른 프로세스 또는 수동 편집으로 파일이 변경되었을 수 있습니다.
해결 방법: dotnetup 데이터 디렉터리에서 매니페스트 파일 및 해당 .sha256 파일을 삭제합니다. 그런 다음 필요한 SDK 및 런타임을 다시 설치합니다. 매니페스트는 더 이상 기존 설치 루트를 추적하지 않으므로 먼저 해당 폴더를 삭제해야 할 수도 있습니다. 데이터 디렉터리의 위치는 dotnetup 업데이트 또는 제거를 참조하세요.
Note
매니페스트 파일을 편집하지 마세요.
dotnetup 명령을 사용하여 추적된 상태를 변경합니다.
구성 파일이 손상되었습니다.
증상: 명령은 다음 경고를 표시합니다.
Warning: The dotnetup config file at <path> appears to be corrupted and could not be read: ...
원인:dotnetup.config.json 파일이 유효하지 않습니다.
dotnetup 는 파일을 무시합니다.
해결 방법: 원하는 액세스 모드로 dotnetup env set을 실행하거나 dotnetup init를 다시 실행합니다. 이러한 명령은 새 구성을 기록합니다.
셸 프로필에 잘못된 형식의 dotnetup 블록이 포함되어 있습니다.
증상:env 명령이 다음 메시지와 유사한 오류와 함께 실패합니다.
The shell profile '<path>' contains a malformed dotnetup block: '<begin marker>' does not have a matching '<end marker>'. Remove or repair the block manually and try again.
원인:dotnetup 시작 및 끝 주석으로 셸 프로필에 추가하는 줄을 표시합니다. 이러한 주석 중 하나가 없습니다.
해결 방법: 텍스트 편집기에서 셸 프로필을 엽니다. 불완전한 dotnetup 블록을 제거하거나 누락된 표식을 추가하세요. 그런 다음, 명령을 다시 실행합니다.
승격이 취소되었습니다.
증상: Windows에서 everywhere 모드를 켜거나 끄는 명령은 다음 메시지를 표시합니다.
Elevation was cancelled. The system PATH was not modified.
원인: 시스템을 PATH 변경하려면 권한 상승이 필요합니다. UAC(사용자 계정 컨트롤) 프롬프트가 취소되었습니다.
해결 방법: 명령을 다시 실행하고 UAC 프롬프트를 승인합니다. 또는 권한 상승이 필요하지 않은 shell 또는 none 액세스 모드를 선택합니다.
릴리스 매니페스트가 만료되었습니다.
증상: 릴리스 매니페스트 확인 중 ExpiredNow 실패 코드와 함께 설치 또는 업데이트가 실패합니다.
원인: 현재 시스템 시간은 매니페스트의 만료 시간과 같거나 그 이후입니다. 매니페스트가 만료되었거나 시스템 시계가 올바르지 않을 수 있습니다. 유효한 서명이 있다고 해서 만료된 매니페스트가 허용되는 것은 아닙니다.
Solution:
- 시스템의 날짜 및 시간을 확인하세요. 필요한 경우 시계를 조정합니다.
- 명령을 다시 시도하십시오. 프록시가 캐시된 릴리스 메타데이터를 제공하는 경우 프록시가 만료된 매니페스트를 제공하는지 관리자에게 확인하도록 요청합니다.
- 클록이 올바르고 오류가 지속되면 명령의 자세한 출력을 포함해 문제를 보고합니다.
매니페스트를 편집하거나 만료 검사를 무시하도록 시계를 변경하지 마세요. 자세한 내용은 매니페스트 만료를 참조하세요.
IT 정책에 의해 설치가 차단됨
증상: IT 정책에 코드 서명된 다운로드가 필요하다는 메시지와 함께 일별 또는 프리릴리스 빌드 설치가 실패합니다.
원인: 관리자가 컴퓨터에서 서명되지 않은 다운로드를 차단했습니다.
해결 방법: 릴리스된 버전을 설치하거나 관리자에게 정책을 지우도록 요청합니다. 자세한 내용은 dotnetup가 다운로드를 검증하는 방법을 참조하세요.
문제 보고
이 문서에서 문제가 해결되지 않으면 기존 dotnetup 문제를 검색하세요.
일치하는 항목을 찾지 못하면 dotnet/sdk 리포지토리에서 dotnetup 문제 템플릿을 사용하여 새 문제를 엽니다.
--verbosity detailed의 출력과 실패한 명령의 출력을 dotnetup --info와 함께 포함합니다.
질문이나 제안이 있으면 dotnetup 토론을 사용하세요.
또한, 다음을 참조하세요.
.NET