悪影響を与えることなく、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
属性は、パッケージルートを基準にした任意のパスを指定できます。