具有多个nuget包问题的类库

时间:2012-12-05 19:22:13

标签: nuget nuget-package

我有一个包含许多项目的类库,每个项目都是用C#编写的。这是我与其他项目共享的常见库。我最近改变了共享库的机制是通过nuget。因此,对于库中的每个项目,我都有一个post build事件来创建一个nuget包,例如。

"$(SolutionDir)\NuGet.exe" pack "$(ProjectPath)" -o "$(SolutionDir)\Packages"

这很好用。它将包推送到文件结构中的共享文件夹,消费项目从那里安装它。所有项目包都被推送到此文件夹。

我遇到了一个问题。让我们说我的库创建包X和Y.X在类库中引用了Y.在消费应用程序中,我需要使用X,当我安装它时,它不会从Y安装ddl。我还需要安装包Y.如何在创建包X时设置它,它还包括必要的dll的来自包Y,而不必明确安装它?

1 个答案:

答案 0 :(得分:2)

在包X的nuspec文件中,您可以将包Y指定为依赖

<依赖性>
      < dependency id =“Y”version =“1.0”/>
< /依赖性>

可以在http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Dependencies

找到更多关于依赖的选项

用于指定文件,您可以使用
<文件>
  < file src =“bin \ Debug * .dll”target =“lib”/>
  < file src =“bin \ Debug * .pdb”target =“lib”/>
  
< /文件>
更多细节http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Files_to_Include_in_the_Package