Microsoft MVP성태의 닷넷 이야기
.NET Framework: 762. .NET Core 2.1 - 확장 도구(Tools) 관리 [링크 복사], [링크+제목 복사],
조회: 19265
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

.NET Core 2.1 - 확장 도구(Tools) 관리

.NET Core 2.1부터,

Announcing .NET Core 2.1
; https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/

사용자 정의 Tool을 관리할 수 있는 기능이 생겼습니다. .NET Full Framework과 비교하자면 "C:\Windows\Microsoft.NET\Framework\v4.0.30319" 등의 폴더에 사용자 프로그램을 넣어두는 것과 유사하겠습니다.

사용법은, 역시 NuGet으로부터 배포된 도구를 설치할 수 있는데 가령 "dotnetsay"라는 도구인 경우 다음과 같은 명령어로 설치할 수 있습니다.

C:\>dotnet tool install -g dotnetsay

-g 옵션인 경우 물리적인 설치 경로는 %USERPROFILE%을 기준으로 정해집니다.

%USERPROFILE%\.dotnet\tools\.store\dotnetsay

(* 윈도우의 경우 %USERPROFILE%\.dotnet\tools 폴더에 dotnetsay.exe 파일도 생성됩니다.)

원한다면 -g 옵션 대신 --tool-path 옵션과 함께 경로를 전달해 원하는 로컬 폴더를 지정할 수 있습니다.

C:\>dotnet tool install --tool-path d:\tool\.dotnet dotnetsay
You can invoke the tool using the following command: dotnetsay
Tool 'dotnetsay' (version '2.1.4') was successfully installed.

(* 윈도우의 경우 지정된 d:\tools\.dotnet 폴더에 dotnetsay.exe 파일도 생성됩니다.)

미리 설치된 도구 목록은 list 옵션으로 알 수 있습니다.

C:\>dotnet tool list  --global
Package Id      Version      Commands
--------------------------------------
dotnetsay       2.1.4        dotnetsay

C:\>dotnet tool list --tool-path d:\tool\.dotnet
Package Id      Version      Commands
--------------------------------------
dotnetsay       2.1.4        dotnetsay

참고로 -g 옵션으로 "dotnet tool install" 명령을 해당 시스템에서 처음 실행한 경우에는 다음의 2가지 작업을 하게 됩니다.

1. %USERPROFILE%\.dotnet\tools\ 폴더 생성
2. tools 폴더를 PATH 환경 변수에 등록

이 때문에 "최초 설치" 후 곧바로 dotnetsay.exe를 실행하면 찾지 못하는 경우가 있는데 그럴 때는 명령행 윈도우 창을 새롭게 다시 띄워주면 됩니다.

삭제는 다음의 uninstall 명령으로 할 수 있습니다.

C:> dotnet tool uninstall -g dotnetsay

물론 여러분들도 사용자 정의 도구를 만들어 NuGet에 배포할 수 있습니다. 예제 코드는 github에 공개된 dotnetsay 예제를 참고합니다.

dotnetsay .NET Core Global Tools Sample
; https://github.com/dotnet/core/blob/master/samples/dotnetsay/README.md




더 많은 도구들은 다음의 링크에서 확인할 수 있습니다.

dotnet-tools
; https://github.com/natemcmaster/dotnet-tools/blob/master/README.md

이로써 .NET Core의 도구는 2가지 종류가 되었다고 합니다.

  1. DotNet tools (aka global tools)
  2. DotNetCliToolRef tools (aka project-only tools)

또한 이전 2.0 버전까지는 별도 패키지로 제공되던 아래의 도구들이,

  • dotnet-ef
  • dotnet-sql-cache
  • dotnet-user-secrets
  • dotnet-watch

2.1부터는 기본 내장되었다고 하니 더 이상 따로 설치할 필요가 없게 되었습니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/8/2018]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2025-01-06 09시01분
정성태

... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11786정성태11/29/201818598오류 유형: 505. OpenGL.NET 예제 실행 시 "Managed Debugging Assistant 'CallbackOnCollectedDelegate'" 예외 발생
11785정성태11/21/201820944디버깅 기술: 120. windbg 분석 사례 - ODP.NET 사용 시 Finalizer에서 System.AccessViolationException 예외 발생으로 인한 비정상 종료
11784정성태11/18/201820199Graphics: 32. .NET으로 구현하는 OpenGL (7), (8) - Matrices and Uniform Variables, Model, View & Projection Matrices파일 다운로드1
11783정성태11/18/201818311오류 유형: 504. 윈도우 환경에서 docker가 설치된 컴퓨터 간의 ping IP 주소 풀이 오류
11782정성태11/18/201817433Windows: 152. 윈도우 10에서 사라진 "Adapters and Bindings" 네트워크 우선순위 조정 기능 - 두 번째 이야기
11781정성태11/17/201820809개발 환경 구성: 422. SFML.NET 라이브러리 설정 방법 [1]파일 다운로드1
11780정성태11/17/201821819오류 유형: 503. vcpkg install bzip2 빌드 에러 - "Error: Building package bzip2:x86-windows failed with: BUILD_FAILED"
11779정성태11/17/201822707개발 환경 구성: 421. vcpkg 업데이트 [1]
11778정성태11/14/201820038.NET Framework: 803. UWP 앱에서 한 컴퓨터(localhost, 127.0.0.1) 내에서의 소켓 연결
11777정성태11/13/201820508오류 유형: 502. Your project does not reference "..." framework. Add a reference to "..." in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
11776정성태11/13/201818525.NET Framework: 802. Windows에 로그인한 계정이 마이크로소프트의 계정인지, 로컬 계정인지 알아내는 방법
11775정성태11/13/201820348Graphics: 31. .NET으로 구현하는 OpenGL (6) - Texturing파일 다운로드1
11774정성태11/8/201818761Graphics: 30. .NET으로 구현하는 OpenGL (4), (5) - Shader파일 다운로드1
11773정성태11/7/201818445Graphics: 29. .NET으로 구현하는 OpenGL (3) - Index Buffer파일 다운로드1
11772정성태11/6/201820389Graphics: 28. .NET으로 구현하는 OpenGL (2) - VAO, VBO파일 다운로드1
11771정성태11/5/201819426사물인터넷: 56. Audio Jack 커넥터의 IR 적외선 송신기 - 두 번째 이야기 [1]
11770정성태11/5/201827779Graphics: 27. .NET으로 구현하는 OpenGL (1) - OpenGL.Net 라이브러리 [3]파일 다운로드1
11769정성태11/5/201818764오류 유형: 501. 프로젝트 msbuild Publish 후 connectionStrings의 문자열이 $(ReplacableToken_...)로 바뀌는 문제
11768정성태11/2/201819231.NET Framework: 801. SOIL(Simple OpenGL Image Library) - Native DLL 및 .NET DLL 제공
11767정성태11/1/201820154사물인터넷: 55. New NodeMcu v3(ESP8266)의 IR LED (적외선 송신) 제어파일 다운로드1
11766정성태10/31/201822221사물인터넷: 54. 아두이노 환경에서의 JSON 파서(ArduinoJson) 사용법
11765정성태10/26/201819135개발 환경 구성: 420. Visual Studio Code - Arduino Board Manager를 이용한 사용자 정의 보드 선택
11764정성태10/26/201824023개발 환경 구성: 419. MIT 라이선스로 무료 공개된 Detours API 후킹 라이브러리 [2]
11763정성태10/25/201820990사물인터넷: 53. New NodeMcu v3(ESP8266)의 https 통신
11762정성태10/25/201821426사물인터넷: 52. New NodeMCU v3(ESP8266)의 http 통신파일 다운로드1
11761정성태10/25/201821359Graphics: 26. 임의 축을 기반으로 3D 벡터 회전파일 다운로드1
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...