28

だから私は実際にWebサイトプロジェクト(Webアプリケーションではないのでcsprojファイルがない)をNuGetパッケージにパッケージ化してOctopusが消費できるようにしようとしていますが、次々とレンガの壁にぶつかっています..

OctoPack の使用を検討しましたが、Web サイト プロジェクトのみ Web アプリケーション プロジェクトをサポートしていません。

私は今、フォルダー (私の場合は Web サイト) を Nuget パッケージに追加する方法を見つけようとしていますが、Nuget はコマンド ライン経由でこれを許可していませんか? また、.csproj ファイルも必要です。

また、NuGet 仕様ファイルを作成してフォルダーに渡そうとしましたが、できませんか?

今のところ、NuGet パッケージ エクスプローラーを使用する必要があるかもしれませんが、これをスクリプト化したいと考えています。

私はこの質問を見てきましたが、私のシナリオを処理していないようです プロジェクトファイルなしでナゲットパッケージを作成できますか

では、コマンド ラインを使用してフォルダーを NuGet パッケージに追加する最適な方法を知っている人はいますか!?

4

1 に答える 1

45

OctoPack はわかりませんが、nuget.exe を使用すると、パッケージ化は次の 2 つの手順で行われます。

  1. .nu​​spec を手動で作成するか、.csproj または既存のアセンブリから生成します (nuget specドキュメント参照)。
  2. nuget pack前の手順で作成した .nuspec をパラメーターとして呼び出します。

.csproj が横たわっていないので、手動で (またはNuGet Package Explorerのような GUI ツールを使用して) .nuspec を作成することになります。

.nu​​spec ファイルの作成方法については、Nuspec リファレンス、特にSpecifying Files to Include in the Packageに関するセクションですべて読むことができます。

パッケージにフォルダーを (再帰的に?) 含めたい場合は、次のようなものを XML に追加する必要があります。

<files>
  <file src="bin\Release\**\*.*" target="content" /> 
</files>

これにより、フォルダーのすべてのファイルと (再帰的な) サブフォルダーが取得され、NuGet パッケージbin\Releaseのフォルダーに配置されます。content

OctopusDeploy がパッケージに期待する形式はわかりませんが、それがパッケージにフォルダーを含める方法です。

編集: OctoPack READMEには、これに関するドキュメントがいくつかあるようです。

于 2014-07-03T10:48:05.507 に答える