参照された依存関係を含む NuGet パッケージを自動的にビルドする 質問する

参照された依存関係を含む NuGet パッケージを自動的にビルドする 質問する

したいローカル/内部NuGetリポジトリを実行する既存のNuGetパッケージをNuGetを使用してダミープロジェクトに含め、パッケージファイルをスキャンして「再利用」する方法がわかったと思います。ローカルにキャッシュされた.nupkgファイルを取得する、 しかし...

.nupkgプロジェクトからNuGetパッケージ( )を作成し、自動的に含めるにはどうすればいいですか?全て dllNuGet 経由で取得した依存関係だけでなく、依存関係も取得しますか?

具体的には:

  1. ソリューションを作成する
  2. 新しいプロジェクトを追加する
  3. .dllさまざまなファイル/他のプロジェクトへの参照を追加する<-- これは欠けている部分です
  4. パッケージマネージャー/コマンドライン/その他を使用してNuGetパッケージを追加する
  5. 何か自動的に作成されます.nupkg

私が調べたところによると、次のようなことをするはずです

  • 依存関係を含める.csprojためにファイルを手動で編集する<BuildPackage>true</BuildPackage>
  • 手動で.nuspecファイルを作成し、手動で依存関係をリストする似ている ?
  • ファイルnuget packを手動で実行する.nuspec

しかし、すべてが手動なのは愚かなことです。半自動ソリューションでさえ、まだ扱いにくいか、半分手動です。

プロジェクト参照からマニフェストを自動的に作成するもので満足します.nuspec。理論的には、それと nuget ビルド イベントをビルド プロジェクト/nuget パッケージにまとめることができます。これが私が本当に望んでいることです。

ベストアンサー1

あなたのポイント3(さまざまな.dllファイル/他のプロジェクトへの参照を追加します<--これが不足している部分です) には、実際には 2 つの異なる問題が含まれています: (1) さまざまな dll ファイルへの参照を追加すること、および (2) 同じソリューション内の他のプロジェクトへの参照を追加することです。

ここでの(2)は、NuGet 2.5プロジェクトの NuGet パッケージを作成するときに、同じソリューション内の他のプロジェクトへの参照を含めるオプションを追加できます。

nuget pack projectfile.csproj -IncludeReferencedProjects
  • projectfile.csprojソリューション内の他のプロジェクトを参照し、NuGetパッケージとして公開されている場合、これらのプロジェクトのNuGet パッケージ依存関係として追加されます。
  • ソリューション内のプロジェクトを参照している場合、しないNuGetパッケージとして公開され、dllsこの NuGet パッケージに含まれます。

(1) については、NuGet パッケージとして利用できない dll をプロジェクトに頻繁に追加する場合は、これらのファイルを使用して独自の (内部) NuGet パッケージを作成することができます。その後、これらの dll をファイルを直接追加するのではなく、NuGet パッケージとして追加すると、この NuGet パッケージはプロジェクトの NuGet パッケージの依存関係になります。

おすすめ記事