2017-05-22 27 views
5

私は非常にdotnet CLIです。別のコマンドを実行しています。私をちょっと混乱させるコマンドは、ドットネット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フレームワークに依存する、または自己完結型のアプリケーションを公開します。

キーワードは「自己完結型」、インストーラ、またはおそらくホスト間でコピー/貼り付けによって展開できるフォルダです。

+0

「自己完結型」とは、実行可能ファイルを含めることを意味します。それは実際には 'copy-pasteable'と' copy-paste'だけで実行可能にする部分です。正しいのでしょうか? – TeaLeave

+1

*アプリケーションをコンパイルし、プロジェクトファイルで指定された依存関係を読み込み、その結果のファイルセットをディレクトリに公開する* – t0mm13b

0

の@ t0mm13bの答えに追加:

dotnet pack:出力はは、他のプロジェクトでを再利用することを意図しているパッケージです。

dotnet publish:出力は、「パッケージファイル」ではなく、すべてのプロジェクトの出力を含むディレクトリです。

関連する問題