Microsoft MVP성태의 닷넷 이야기
.NET Framework: 762. .NET Core 2.1 - 확장 도구(Tools) 관리 [링크 복사], [링크+제목 복사],
조회: 11075
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13586정성태3/27/20241616Windows: 263. Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법
13585정성태3/26/20241503Windows: 262. PerformanceCounter의 InstanceName에 pid를 추가한 "Process V2"
13584정성태3/26/20241468개발 환경 구성: 708. Unity3D - C# Windows Forms / WPF Application에 통합하는 방법파일 다운로드1
13583정성태3/25/20241503Windows: 261. CPU Utilization이 100% 넘는 경우를 성능 카운터로 확인하는 방법
13582정성태3/19/20241630Windows: 260. CPU 사용률을 나타내는 2가지 수치 - 사용량(Usage)과 활용률(Utilization)파일 다운로드1
13581정성태3/18/20241778개발 환경 구성: 707. 빌드한 Unity3D 프로그램을 C++ Windows Application에 통합하는 방법
13580정성태3/15/20241312닷넷: 2231. C# - ReceiveTimeout, SendTimeout이 적용되지 않는 Socket await 비동기 호출파일 다운로드1
13579정성태3/13/20241517오류 유형: 899. HTTP Error 500.32 - ANCM Failed to Load dll
13578정성태3/11/20241681닷넷: 2230. C# - 덮어쓰기 가능한 환형 큐 (Circular queue)파일 다운로드1
13577정성태3/9/20241935닷넷: 2229. C# - 닷넷을 위한 난독화 도구 소개 (예: ConfuserEx)
13576정성태3/8/20241598닷넷: 2228. .NET Profiler - IMetaDataEmit2::DefineMethodSpec 사용법
13575정성태3/7/20241705닷넷: 2227. 최신 C# 문법을 .NET Framework 프로젝트에 쓸 수 있을까요?
13574정성태3/6/20241614닷넷: 2226. C# - "Docker Desktop for Windows" Container 환경에서의 IPv6 DualMode 소켓
13573정성태3/5/20241580닷넷: 2225. Windbg - dumasync로 분석하는 async/await 호출
13572정성태3/4/20241672닷넷: 2224. C# - WPF의 Dispatcher Queue로 알아보는 await 호출의 hang 현상파일 다운로드1
13571정성태3/1/20241648닷넷: 2223. C# - await 호출과 WPF의 Dispatcher Queue 동작 확인파일 다운로드1
13570정성태2/29/20241656닷넷: 2222. C# - WPF의 Dispatcher Queue 동작 확인파일 다운로드1
13569정성태2/28/20241586닷넷: 2221. C# - LoadContext, LoadFromContext 그리고 GAC파일 다운로드1
13568정성태2/27/20241802닷넷: 2220. C# - .NET Framework 프로세스의 LoaderOptimization 설정을 확인하는 방법파일 다운로드1
13567정성태2/27/20241807오류 유형: 898. .NET Framework 3.5 이하에서 mscoree.tlb 참조 시 System.BadImageFormatException파일 다운로드1
13566정성태2/27/20241824오류 유형: 897. Windows 7 SDK 설치 시 ".NET Development" 옵션이 비활성으로 선택이 안 되는 경우
13565정성태2/23/20241687닷넷: 2219. .NET CLR2 보안 모델에서의 개별 System.Security.Permissions 제어
13564정성태2/22/20241915Windows: 259. Hyper-V Generation 1 유형의 VM을 Generation 2 유형으로 바꾸는 방법
13563정성태2/21/20241954디버깅 기술: 196. windbg - async/await 비동기인 경우 메모리 덤프 분석의 어려움
13562정성태2/21/20241979오류 유형: 896. ASP.NET - .NET Framework 기본 예제에서 System.Web에 대한 System.IO.FileNotFoundException 예외 발생
13561정성태2/20/20242054닷넷: 2218. C# - (예를 들어, Socket) 비동기 I/O에 대한 await 호출 시 CancellationToken을 이용한 취소파일 다운로드1
1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...