닷넷 지원 정보의 "package-provided" 의미
예를 들어,
Crc64 Class
; https://learn.microsoft.com/en-us/dotnet/api/system.io.hashing.crc64
위의 문서에서 "Applies to" 절을 보면 다음과 같이 지원 정보가 나옵니다.
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 4.6.2 (package-provided), 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided)
.NET Standard 2.0 (package-provided)
각각의 항목마다 "package-provided"가 붙어 있는데요, 궁금해서 찾아봤더니 이미 누가 질문을 올려놨습니다. ^^
What does ".NET Framework 4.8 (package-provided)" mean
; https://stackoverflow.com/questions/79267023/what-does-net-framework-4-8-package-provided-mean
정리하면, 정규 BCL(Base Class Library)에 포함시키진 않았지만 "마이크로소프트가 nuget에 올린 부가 닷넷 패키지"라는 것으로 이해하면 됩니다.
따라서 저 클래스를 사용하려면 "Assembly: System.IO.Hashing.dll"라고 명시된 대로 nuget에서 System.IO.Hashing 패키지를 설치하면 됩니다.
Install-Package System.IO.Hashing
그런데 여기까지 보면 뭔가 새로운 듯한데요, 예전 기록을 봤더니 한때
".NET Platform Extension"으로 분류돼 있었던 것들이 이름만 "
package-provided"로 바뀐 것에 불과했습니다. ^^
어찌 보면, 의미상으로는 ".NET Platform Extension"인 경우 왠지 또 다른 확장 패키지 묶음을 설치해야만 했던 것처럼 느껴지는 반면 "package-provided"는 그냥 단순히 대상 (nuget) 패키지 설치만을 의미하는 듯해서 잘한 변경인 듯합니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]