.NET Core가 설치되어 있는지 확인하는 방법


302

이전 버전의 .NET에서는 다음과 같이 주어진 버전이 설치되어 있는지 확인할 수 있습니다.

https://support.microsoft.com/en-us/kb/318785  

.NET Core 가 설치되어 있는지 확인하는 공식적인 방법이 있습니까?

(그리고 SDK를 의미하지는 않습니다. SDK가없는 서버를 확인하여 DotNetCore.1.0.0-WindowsHosting.exe가 설치되어 있는지 확인하고 싶습니다)

볼 수있다

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET Cross-Platform Runtime Environment\.NET Framework 4.6\Win\v1-rc1 

내 Windows 7 컴퓨터에서 버전 1.0.11123.0의 버전을 사용하지만 Windows 10 컴퓨터에서 동일한 항목을 볼 수 없습니다.


1
좋은 질문. .NET Core를 따르는 사람은 런타임 및 SDK 버전 관리가 매우 혼란스러운 주제라는 것을 알고 있습니다.
Sean

@ Chiramisu, 아래의 모든 체크 된 것들이 나를 위해 일했지만, 관련이없는 구현 세부 사항 때문에 Desired State Configuration을 사용하여 dnc Windows 서버 호스팅이 설치되었는지 확인했습니다. (즉, DotNetCore.1.0.0-WindowsServerHosting.exe에 Verify = Absent 및 DotnetCore.2.0.5-WindowsServerHosting.exe에 Guarantee = Present가 있습니다.) (또는 원하는 다른 파일 이름). DSC는 적절한 패키지가 설치 / 제거되었는지 확인하는 데 관련된 모든 혼란을 처리합니다.
weloytty

3
DOTNET --list-SDK를하고 DOTNET --list-런타임 활성 버전으로 2.1.300 - preview1-008174 내 호스트에서 사용할 수 있습니다
jumpercake

--info PowerShell을 DOTNET의 명령 아래에서이 프로그램을 실행 소스
manikanta 쿠마

답변:


209

Powershell 사용 :

런타임 :

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'shared\Microsoft.NETCore.App')).Name

SDK :

(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'sdk')).Name

1
@MarceloFilho 어떤 버전이 있습니까? 를 사용하여 얻을 수 있습니다 [System.Environment]::OSVersion. Windows 10 버전 10.0.15063.0을 사용하여 위에서 언급 한 명령을 테스트했습니다. 잘 작동합니다.
Andriy Tolstoy

6
이것이 Windows Server 2016 및 Windows 10에서 완벽하게 작동 함을 확인할 수 있습니다.
user5389726598465

1
dotnet 명령은 SDK가 설치된 경우에만 사용할 수 없습니까? OP가 요청한 것과 정확히 반대였습니다.
Aurimas N.

@AurimasN. dotnet.exe 명령은 SDK 및 런타임 배포 모두에서 사용할 수 있습니다. SDK는 프로젝트 내에서 "dotnet.exe 빌드"및 "dotnet.exe 실행"을 수행하는 데 필요한 CLI 명령과 필수 라이브러리를 추가하기 만하면됩니다.
Jason Mock

3
Windows 10의 PowerShell에서 작동하지만 dotnet --info다른 답변에서 제안 하는 것을 선호 합니다.
Manfred

345

좋은 질문이며 그 대답은 단순한 질문이 아닙니다. "모든 .net 코어 버전 표시"명령은 없지만 희망이 있습니다.

편집하다:

언제 추가되었는지 확실하지 않지만 info 명령은 이제이 정보를 출력에 포함합니다. 설치된 런타임 및 SDK와 기타 정보를 인쇄합니다.

dotnet --info

SDK 만보고 싶은 경우 : dotnet --list-sdks

설치된 런타임 만 보려면 : dotnet --list-runtimes

나는 Windows에 있지만 Mac 또는 Linux뿐만 아니라 현재 버전에서도 작동한다고 생각합니다.

또한 .NET Core 다운로드 아카이브 를 참조 하여 SDK 버전을 해독 할 수 있습니다.


이전 정보 : 이 시점 아래의 모든 정보 는 이전 정보이므로 관련성이 적지 만 여전히 유용 할 수 있습니다.

설치된 런타임을 참조하십시오 .

C:\Program Files\dotnet\shared\Microsoft.NETCore.AppWindows 탐색기에서 열기

설치된 SDK를 참조하십시오 .

C:\Program Files\dotnet\sdkWindows 탐색기에서 열기

(위치 출처 : 개발자 블로그 )


또한 명령 프롬프트에서 다음 명령을 실행하여 설치된 최신 런타임 및 SDK 버전을 확인할 수 있습니다 .

dotnet 최신 런타임 버전이 가장 먼저 나열됩니다. 면책 조항 : 더 이상 작동하지 않지만 이전 버전에서는 작동 할 수 있습니다.

dotnet --version 최신 SDK 버전 DISCLAIMER : 이 결과는 global.json 구성 파일의 영향을받을 수 있습니다.


macOS에서는 아래 명령을 사용하여 .net 코어 버전을 확인할 수 있습니다.

ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/

우분투 또는 알파인 :

ls /usr/share/dotnet/shared/Microsoft.NETCore.App/

버전 이름이 설치된 폴더가 표시됩니다.


15
macOS에서 :ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/
Sergii Volchkov

필자의 경우 dotnet --version은 1.1.0이라고 말했지만 설치된 버전에는 1.1.2가 포함되어 있습니다. 확인하기 위해 dotnet.exe의 이름을 변경했으며 dotnet --version에서 버전을 찾지 못했습니다. 그런 다음 1.1.2를 다시 설치하고 dotnet --version은 다시 1.1.0을 가지고 있다고 말했습니다.
William Jockusch

1
@SergiiVolchkov의 의견에 감사드립니다. Mac에서 dotnet core1.0.0를 제거하는 방법을 알려주시겠습니까?
Pankaj Parkar

1
.NET Core 2.1.0에 "dotnet --list-runtimes"및 "dotnet --list-sdks"추가
b8adamson

1
dotnet --version사용중인 SDK를 나열합니다.이 SDK는 기본적으로 최신이지만 항상 그런 것은 아닙니다. 폴더 구조에 global.json 파일이 있으면 최신 버전이 아니라 global.json에 설정된 버전이 표시됩니다.
Maíra Wenzel-MSFT

164

Windows 호스팅 패키지가 설치된 서버와 같이 SDK가없는 런타임 전용 환경에 대한 정답은 다음 명령으로 PowerShell을 실행하는 것입니다.

dotnet --info

공식 문서 :

  • --version옵션 "사용중인 .NET 핵심 SDK의 버전을 인쇄합니다." SDK가 설치되어 있지 않으면 작동하지 않습니다. 이므로...
  • --info옵션 "같은 현재 운영 체제와 CLI 공구와 환경에 대한 자세한 정보를 출력합니다는, 버전 및 기타 정보에 대한 SHA을 커밋합니다."

다음은 .NET Core 버전 관리 작동 방식을 설명하는 공식 문서 입니다. :)


9
놀라운 것은 이것이 실제 답변입니다. 그리고 그것은 질문을 올바르게 읽는 것을 귀찮게하지 않은 사람들의 답변 스택 밑에 묻혀 있습니다.
Jammer

--info내 서버 --version에서는 작동하지 않지만 작동합니다. 정보 옵션은 다음을 제공합니다.Did you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
ArieKanarie

@ArieKanarie Microsoft .NET Framework 복구 도구를 사용하여 복구해야 할 수도 있습니다 .
Chiramisu

106

dotnet.exe가 사용 가능한지 확인할 수 있습니다.

where dotnet

그런 다음 버전을 확인할 수 있습니다.

dotnet --version

업데이트 : 이제이 작업을 수행하는 더 좋은 방법이 있습니다.이 방법은 다른 많은 답변에서 잘 설명되어 있습니다.

dotnet --info


34
런타임이 아니라 닷넷 CLI 버전을 능가합니다. 두 가지 다른 점이 있습니다. CLI가 설치되었다고해서 런타임이 설치되어 있고 동일한 버전 인 것은 아닙니다.
Aleksanderis

ssh확인을 위해 런타임 만 설치된 서버에 연결하면 작동하지 않습니다. 대신이 답변을 참조하십시오 .
gldraphael

49

.NET CoreWindows에 설치되어 있는지 확인하는 인형 중 하나 는 다음과 같습니다.

  • Windows+를 누르십시오R
  • 유형 cmd
  • 명령 프롬프트에서 다음을 입력하십시오. dotnet --version

닷넷-버전

.NET Core이 설치되어 있으면 위의 단계에서 오류가 발생하지 않아야합니다.


6
동일한 답변에 대한 위의 주석을 참조하십시오 : 런타임이 아닌 닷넷 CLI 버전을 능가합니다. 두 가지 다른 점이 있습니다. CLI를 설치했다고해서 런타임이 설치
되었다는

Nitpcking이지만 런타임을 설치하지 않고 작동하는 CLI를 가질 수는 없습니다. 따라서 CLI가있는 경우 약간의 런타임이 있으며 완전히 다른 버전 일 수 있습니다.
omajid

@omajid 무슨 CLI를 말하는지 잘 모르겠습니다. 필자가 대답 한 CLI는 Windows 10 x64의 기본 명령 프롬프트 CLI이며 특별한 설치없이 설치 / 사용 가능합니다.
Mohammed Zameer

이것은 질문에 대한 답변이 아닙니다.
Jammer

@Jammer 나는 당신이 편집 제안을 제안 하는 것이 좋습니다
Mohammed Zameer

20

(1) Window 시스템에있는 경우.

명령 프롬프트를여십시오.

 dotnet --version

(2) Linux 시스템 인 경우 아래 명령을 실행하십시오.

dotnet --version

dotnet --info

type dotnet --version-Windows 10에서는 dotnet --version작동 하지 않습니다 . 그래도 작동합니다. 당신의 대답이 확실 type합니까, 아니면 오타입니까? 두 리눅스 명령 모두 Win 10에서 작동합니다.
Aditya

@Aditya는 이것이 type명령의 일부가 아니라 독자에게 지시 한다고 생각합니다 . 일치하도록 게시물을 수정했습니다.
JohnLBevan

예, 그것은 지시였습니다.
Hiren Parghi

15

저는 주로 Windows 개발 컴퓨터 및 서버에서 작업합니다.

방금 (적어도 NET.Core 2.0 이상)을 지적하고 싶었던 것은 dotnet --info명령 프롬프트에서 실행 하여 설치된 최신 버전 에 대한 정보를 얻는 것 입니다. .NET Core가 설치되어 있으면 응답이있을 것입니다.

개발 시스템 (Windows 10)에서 결과는 다음과 같습니다. SDK는 2.1.2이고 런타임은 2.0.3입니다.

.NET Command Line Tools (2.1.2)

Product Information:
 Version:            2.1.2
 Commit SHA-1 hash:  5695315371

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.15063
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.2\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.3
  Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df

SDK가없는 Windows Server 호스팅 팩이 포함 된 Windows Server 2016을 실행하는 서버 중 하나에서 결과는 다음과 같습니다. SDK가 없으며 런타임은 2.0.3입니다.

Microsoft .NET Core Shared Framework Host

Version  : 2.0.3
Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df

건배!


10

다음 명령은 .NET Core SDK 2.1 (v2.1.300)에서 사용할 수 있습니다 .

설치된 모든 .NET Core SDK를 나열하려면 다음을 사용하십시오. dotnet --list-sdks

설치된 모든 .NET Core 런타임을 나열하려면 dotnet --list-runtimes

(2018 년 6 월 3 일, 2018 년 8 월 23 일에 Windows에서 작성 됨)

2018 년 10 월 24 일 현재 업데이트 : dotnet --info다른 답변에서 이미 언급했듯이 더 나은 옵션이 터미널 또는 PowerShell 창에있을 수 있습니다.


우리 모두 배울 수 있습니다. downvote의 이유를 알고 궁금합니다. 공감할 때 의견을 남기시겠습니까?
Manfred

난 공감하지는 않았지만 ".NET Core SDK에서 사용 가능한"명령을 언급했지만 "SDK없이 서버를 확인하고 싶습니다"라는 질문이 있기 때문일 수 있습니다. 런타임 만 설치 될 때 위 명령 중 어떤 명령이 작동하는지 확인하면 답이 향상됩니다 .
ToolmakerSteve

@ToolmakerSteve 네, 그게 요점입니다. SDK가없는 환경이 없으며 그것을 제거하는 길이로 가고 싶지 않을 것입니다 .... 의견에 감사드립니다. 대단히 감사합니다.
Manfred

5

Windows에서는 명령 프롬프트 만 열고 다음을 입력하면됩니다.

dotnet --version

.net 코어 프레임 워크가 설치되어 있으면 현재 설치된 버전을 얻게됩니다

스크린 샷 참조 :

여기에 이미지 설명을 입력하십시오


3
이것은 런타임 버전이 아닌 SDK 버전을 제공합니다
silkfire

1

아니면 그냥 내부를 볼 수 있습니다

C : \ 프로그램 파일 \ dotnet \ sdk


0

찾는 위치는 C:\Program Files\dotnet\shared\Microsoft.NETCore.App런타임의 버전이 디렉토리를 확인할 수 있습니다. 출처.

여기에 많은 답변이 SDK와 런타임을 혼동합니다.


0

다른 모든 답변을 마친 후에 이것은 유용 할 수 있습니다.

Visual Studio에서 응용 프로그램을 엽니 다. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하십시오. 속성을 클릭하십시오. 응용 프로그램을 클릭하십시오. "대상 프레임 워크"에서 드롭 다운 버튼을 클릭하면 설치된 모든 프레임 워크가 있습니다.

BTW-원하는 프레임 워크를 선택할 수 있습니다.


Visual Studio 2017을 사용했습니다. YMMV.
Baruch Atta

-6

설치 과정이 필요하지 않습니다.

내 작업 표시 줄 (win10)에서 "VSCore"를 고정 했으므로 작업 관리자를 열고 "Visual Studio Core"프로세스를 선택하십시오. 왼쪽 화살표를 펼치십시오. "메뉴.

설치된 위치를 기억하지 못하면 모든 하드 드라이브에서 "Code.exe"파일을 검색하십시오.


1
문제는 ide VS CODE가 아닌 .NET CORE에 관한 것입니다.
user5389726598465
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.