Nupack은 Visual Studio로 구축 할 때 AssemblyInfo 또는 Nuspec을 기반으로 .NET 4.0+ 용 Nuget 패키지를 쉽게 제작하는 방법입니다. Nuget 패키지로 구체화됩니다.
Nupack이 프로젝트에 의해 참조되면 종속성이 생성되지 않으며 프로젝트 출력을 NUGET 패키지로 자동으로 포장하는 새로운 빌드 단계 만 있습니다.
.NUSPEC 파일이 프로젝트의 일부로 감지되면 NuPack은 사양을 존중하고 예상 NUGET 패키지를 생성하기 위해 자동 구성을 적용하지 않습니다.
NUGET 패키지 종속성이있는 간단한 라이브러리 (LIB 폴더)를 생성합니다. 이 패턴은 유형 라이브러리 프로젝트에 대해 .NUSPEC 파일이 감지되지 않은 경우 자동으로 적용됩니다.
패키지가 콘솔 애플리케이션을 기반으로하고 .NUSPEC가 선언되지 않은 경우 빌드 디렉토리는 .Targets 파일로 정의되어 5 개의 인수와 함께 게시물 빌드로 빌드 작업 단계를 추가하는 간단한 방법을 제공합니다.
종속성은 NUGET 패키지, 프로젝트 참조 등이 될 수 있습니다 ... 생성 된 NUGET 패키지에 적절한 양식을 재귀 적으로 포함해야합니다.
NUGET 프로세스는 출력에서 XML 문서 및 종속성의 리소스를 전파하지 않으며 Nupack 포장 프로세스에서는 고려할 수 없습니다. Nupack은 각 노드에서 깨끗한 구조와 문서를 유지하는 데 자동으로 전파되도록합니다.
Nupack은 Nuget 패키지로 플러그인을 개발하기위한 라이브러리를 제공 할 수 있습니다. package.config에서 플러그인을 감지하고 Nupack 폴더에서로드하여 Nupack에 추가 동작을 추가합니다. 플러그인은 Nupack으로 전달 된 인수와 함께 호출되어 결과를 저장하기 전에 원래 PackageBuilder에서 패키지 빌더를 생성합니다. 플러그인은 Nuget 생성 후에 폐기됩니다.
Nupack은 Project Reference Nupack.extension 일 때 Nupack 폴더에 플러그인 (라이브러리)을 저장하려면 특정 패키지를 작성해야합니다.
nupack이 [library] .optimizer라는 콘솔 응용 프로그램에서 참조하고 [라이브러리]라는 라이브러리를 참조하면 최적화 패턴이 완료됩니다. 생성 된 NUGET 패키지에는 [library] .dll이 lib 폴더에 [Library] .dll을 포함하고 [library] .optimizer.exe는 콘솔 응용 프로그램 패턴에 대한 표준 빌드 동작과 동일한 인수로 postbuild에서 최적화를 실행하기 위해 .targets 파일이있는 빌드 폴더에 배치됩니다. Nuget 패키지는 [라이브러리] 이름을 ID로 가져갑니다. [라이브러리]가 Nuget 프로듀서 인 경우 패턴이 수행되지 않음을 의미합니다. Optimizer Pattern은 예를 들어 IL을 다시 작성하거나 [라이브러리] .dll 사용을 기반으로 무언가를 준비하는 진입 점입니다.
Visual Studio 2017 변경 NUGET 통합 템플릿. Visual Studio 2017을 지원하기 위해 Nupack을 업데이트해야합니다.
Nuget의 실망스러운 점 중 하나는 깨끗하고 완전한 메타 데이터를 갖는 것입니다. 불행히도, AssemblyInfo는 모든 너겟 요구를 노출시키는 방법을 제공하지 않습니다. 다른 한편으로, 동기화 문제를 일으키는 동일한 정보를 여러 장소에서 선언하고 유지 보수 오버 헤드를 추가해야합니다. github.com API를 사용하여 자동으로 NUGET 생성을 완료하는 것은 반응성을 유지하는 것이 좋습니다.