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
屬性可以指定任何相對於您的包根目錄的任意路徑。