.NET CLI를 사용하여 NuGet 패키지를 만드는 방법
참고 항목
다음에서는 Unix를 사용하는 명령줄 샘플을 보여 줍니다. 여기에 표시된 dotnet pack
명령은 Windows에서와 동일한 방식으로 작동합니다.
.NET Standard 및 .NET Core 라이브러리는 NuGet 패키지로 배포해야 합니다. 이는 실제로 모든 .NET 표준 라이브러리가 배포되고 사용되는 방법이며, dotnet pack
명령을 사용하여 가장 쉽게 수행할 수 있습니다.
NuGet을 통해 배포하려는 놀라운 새 라이브러리를 작성했다고 가정해 보세요. 플랫폼 간 도구를 사용하여 NuGet 패키지를 만들면 이 작업을 정확하게 수행할 수 있습니다. 다음 예제에서는 netstandard1.0
을 대상으로 하는 SuperAwesomeLibrary라는 라이브러리를 가정합니다.
전이적 종속성 즉, 다른 패키지에 종속된 프로젝트가 있는 경우 NuGet 패키지를 만들기 전에 dotnet restore
명령을 사용하여 전체 솔루션에 대한 패키지를 복원해야 합니다. 이렇게 복원하지 않으면 dotnet pack
명령이 제대로 작동하지 않습니다.
dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
및 dotnet pack
등 복원이 필요한 모든 명령에 의해 암시적으로 실행되므로 dotnet restore
를 실행할 필요가 없습니다. 암시적 복원을 사용하지 않으려면 --no-restore
옵션을 사용합니다.
dotnet restore
명령은 Azure DevOps Services의 연속 통합 빌드 또는 복원 발생 시점을 명시적으로 제어해야 하는 빌드 시스템과 같이 명시적으로 복원이 가능한 특정 시나리오에서 여전히 유용합니다.
NuGet 피드를 관리하는 방법에 대한 자세한 내용은 dotnet restore
설명서를 참조하세요.
패키지가 복원되었는지 확인한 후 라이브러리가 있는 디렉터리로 이동할 수 있습니다.
cd src/SuperAwesomeLibrary
그러면 명령줄에서 단일 명령만 표시됩니다.
dotnet pack
이제 /So/debug 폴더가 다음과 같이 표시됩니다.
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
이렇게 하면 디버그할 수 있는 패키지가 생성됩니다. 릴리스 이진 파일과 함께 NuGet 패키지를 빌드하려는 경우 --configuration
(또는 -c
) 스위치를 추가하고 release
를 인수로 사용하기만 하면 됩니다.
dotnet pack --configuration release
이제 /bin 폴더에 릴리스 이진 파일과 함께 NuGet 패키지를 포함하는 release 폴더가 있습니다.
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
또한 NuGet 패키지를 게시하는 데 필요한 파일이 있습니다.
dotnet pack
을 다음과 혼동하지 마세요.dotnet publish
어떤 지점에서도 dotnet publish
명령은 관련되지 않습니다. dotnet publish
명령은 애플리케이션 및 모든 종속성을 동일한 번들로 배포하기 위한 것이며 NuGet을 통해 배포하고 사용할 NuGet 패키지를 생성하기 위한 것이 아닙니다.
참고 항목
.NET