NuGet パッケージを作成するには、OctoPackではなく nuget.exe を使用する必要があります。その理由をすぐに説明します。
この.nuspec
ファイルは、NuGet パッケージの「設計図」として機能します ( .nupkg
)。したがって、簡単な答えは、要素の属性を.nuspec
使用して、ファイル内の場所を指定するだけです。詳細はNuGet サイトにありますが、次のようになります。target
<files>
<files>
<file src="bin\$configuration$\*.dll" target="lib\net452\" />
</files>
ビルド後の手順でnuget.exeを呼び出す方法はいくつかあります。多くは NuGet サイトでも説明されています。
OctoPack は、nuget.org のパッケージを作成するためのものではありません。Octopus Deploy 用のパッケージを作成するために特別に設計されています。次の 2 つの方法のいずれかでパッケージを作成します。
- ファイルが存在する場合
web.config
、OctoPack はプロジェクトが Web プロジェクトであると想定し、それに応じて出力をパッケージ化します。プロジェクト ファイルを使用して、コンテンツとしてマークされているアイテムとマークされていないアイテムを判断します (ただし、常に web.config 変換ファイルを取得します)。
- それ以外の場合、OctoPack はプロジェクトが実行可能ファイルまたはコンポーネントであると想定し、出力フォルダー (通常は
\Debug\bin
または\Release\bin
) で見つかったものを単にパックします。これは、あなたが見ている動作です。
OctoPack は内部で nuget.exe を使用するため、.nuspec
ファイルは上記の両方のケースをオーバーライドします。したがって、 OctoPack を使用して NuGet パッケージを作成することもできますが、 nuget.exeを使用する方が適切です。