0

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

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

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

我遇到了一个问题。假设我的库创建了包 X 和 Y。X 在类库中引用了 Y。在消费应用程序中,我需要使用X,当我安装它时,它不会从Y安装ddl。我还需要安装包Y。创建包X时如何设置它,它还包括必要的dll从包 Y 中,无需显式安装它?

4

1 回答 1

2

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

<dependencies>
<dependency id="Y" version="1.0" />
</dependencies>

更多关于依赖的选项可以在这里找到http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Dependencies

要指定文件,您可以使用
<files>
<file src="bin\Debug*.dll" target="lib" />
<file src="bin\Debug*.pdb" target="lib" />

</files >
更多细节在这里http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Files_to_Include_in_the_Package

于 2012-12-05T22:58:11.543 回答