0
我正在创建一个将2个DLL构建到NuGet包中的类库。它有一些dll的引用,目前没有NuGet包被引用。参考非NuGet参考创建NuGet包
我应该如何让我的NuGet包依赖于那些通过NuGet无法使用的dll?
如果我将它们捆绑起来,如果一个已经引用这些dll的项目拉下我的NuGet包,那么参考会发生什么?
我应该为每个dll引用创建一个NuGet包,并使我的NuGet包依赖于这些包吗?
我正在创建一个将2个DLL构建到NuGet包中的类库。它有一些dll的引用,目前没有NuGet包被引用。参考非NuGet参考创建NuGet包
我应该如何让我的NuGet包依赖于那些通过NuGet无法使用的dll?
如果我将它们捆绑起来,如果一个已经引用这些dll的项目拉下我的NuGet包,那么参考会发生什么?
我应该为每个dll引用创建一个NuGet包,并使我的NuGet包依赖于这些包吗?
您可以将DLL捆绑到您的NuGet包中,不会产生任何不良影响。一个/libs
(或其他)文件夹中已经有这些DLL的项目将继续从那里引用它们。 NuGet包中的程序集将引用被拉入/packages
的捆绑DLL。
在你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
属性可以指定任何相对于您的包根目录的任意路径。