0

2つのdllをNuGetパッケージにビルドするクラスライブラリを作成しています。現在、参照元のNuGetパッケージがないdllへの参照がいくつかあります。

NuGetパッケージをNuGet経由で現在利用できないdllに依存させるにはどうすればよいですか?

それらもバンドルすると、これらのdllへの参照が既にあるプロジェクトがNuGetパッケージをプルダウンするとどうなりますか?その参照はどうなりますか?

dll参照ごとにNuGetパッケージを作成し、NuGetパッケージをこれらに依存させる必要がありますか?

4

1 に答える 1

0

悪影響を与えることなく、DLLをNuGetパッケージにバンドルできます。すでにいくつかの(または何でも)フォルダにそれらのDLLを持っているプロジェクトは/libs、そこからそれらを参照し続けます。NuGetパッケージのアセンブリは、にプルされたバンドルされたDLLを参照します /packages

nuspecファイルで、<file>要素を使用して内部DLLを含めます。

<package>
  <metadata>
    ...
  </metadata>
  <files>
   <file src="PATH_TO_BIN\DependencyOne.dll" target="mylibs" />
   <file src="PATH_TO_BIN\DependencyTwo.dll" target="mylibs" />
  </files>
</packages>

これにより、NuGetパッケージがプルされると、次のファイル構造になります。

PATH_TO_PROJECT/packages/YOUR_NUGET_PACKAGE/mylibs/DependencyOne.dll
PATH_TO_PROJECT/packages/YOUR_NUGET_PACKAGE/mylibs/DependencyTwo.dll

このtarget属性は、パッケージルートを基準にした任意のパスを指定できます。

于 2012-12-19T18:47:29.650 に答える