2017-05-22 2 views
5

저는 매우 dotnet CLI입니다. 다른 명령을 사용하려고합니다. 나를 조금 혼란스럽게 만드는 명령은 dotnet packpublish 사이의 주요 차이점을 알아 내려고합니다. 나는이 페이지에 자신의 설명을보고 의미 : 나의 이해는 Publish 패키지 + DLL을 만드는 동안 pack 패키지를 생성하는 무엇dotnet publish와 dotnet pack의 주요 차이점은 무엇입니까

https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet

.

맞습니까? 그렇다면 항상 publish을 사용하고 싶지 않을 경우 DLL 파일을 사용하지 않는 것이 좋습니다. 그게 사실이야?

답변

5

dotnet pack - 코드의 NuGet 패키지를 만듭니다.

이것이 핵심 차이점입니다. 이것은 http://nuget.org으로 게시하거나 다른 개발자가 끌어 올 수있는 누겟 서버 또는 심지어 Octopus Deploy와 함께 사용할 수도 있습니다.

dotnet publish-.NET Framework 종속 또는 자체 포함 응용 프로그램을 게시합니다.

키워드는 "자체 포함", 설치 프로그램 또는 호스트간에 복사/붙여 넣기를 통해 배포 할 수있는 폴더 일 수 있습니다.

+0

jsut은 "자체 포함"을 명확히하기 위해 여기서 실행 파일을 포함합니다. 이것이 실제로 복사 - 붙여 넣기 가능하고 복사 붙여 넣기만으로 실행 가능하게 만드는 부분입니다. 맞습니까? – TeaLeave

+1

수정 * 응용 프로그램을 컴파일하고 프로젝트 파일에 지정된 종속성을 읽은 다음 결과 집합을 디렉토리에 게시 * – t0mm13b

0

는 @의 t0mm13b의 대답에 추가 :

dotnet pack : 출력은 다른 프로젝트에서 재사용 할 의미하는 패키지입니다.

dotnet publish : 출력은 "패키지 파일"이 아니라 프로젝트의 모든 출력이있는 디렉토리입니다.