2

私の Visual Studio プロジェクトの一部ではない追加の dll を Octopack に含めようとしています。

nuspec のセクションを使用するのではなく、Octopack で csproj ファイルを (通常どおり) 使用し、必要な追加ファイルのみを指定する方法はありますか? (その後、nuspec ですべてのプロジェクト ファイルのリストを維持する必要があるため)

現在、ビルド前のイベントでいくつかの共有ライブラリをフォルダー「/providers」にコピーしています。これを拡張して、Octopack が認識してパッケージ化する場所にコピーする方法はありますか?

4

2 に答える 2

1

nuspec ファイルですべてのプロジェクト ファイルのリストを維持する必要はありません。これを行うことができます。

<files>
    <file src="MyProject.Website\**\*.*" target="" />
</files>

これにより、プロジェクト内のすべて (すべてのファイルとサブディレクトリ) が取得されます。それが多すぎる場合は、除外ルールを利用できます。

<files>
    <file src="MyProject.Website\**\*.*" target="" exclude="MyProject.Website\docs\admin.txt" />
</files>

それが役立つことを願っています。

于 2013-10-18T10:11:42.593 に答える
1

nuspec を介してプロジェクト ディレクトリ内のすべてを取得するという回答の欠点は、不要なファイルが含まれる可能性があることです (回答の後続の除外例を参照してください)。

/p:OctoPackEnforceAddingFiles=trueこれを行うためのおそらくより良い方法は、プロジェクトでファイルが「ビンにコピー」または「コンテンツとしてコピー」として定義されていることを確認してから、 OctoPack に指示する追加のコマンドライン引数を使用して、Octopack を使用して msbuild を介してビルドすることです。 csproj と nuspec を組み合わせると、ワイルドカードを使用してすべての可能なパスを呼び出す必要がなくなります。通常のビルド プロセスから取得されないファイルのみを nuspec に含めることができます。これは OctoPack のバージョン 2.1.3 以降でサポートされています。

csproj ファイルを指定するだけで、通常の Nuget.exe と MSBuild を使用することもできます。特定のパスを持つ nuspec が存在する場合は、それらを結合する必要があります。

より良い例については、これらの参照リンクを参照してください。

https://getadigital.com/no/blogg/setting-up-your-project-and-teamcity-octopack-for-front-end-builds/

https://octopus.com/docs/packaging-applications/nuget-packages/using-octopack/octopack-to-include-buildevent-files

于 2017-03-27T19:57:39.313 に答える