如何私下引用NuGet包中的另一个项目?

时间:2016-02-28 23:39:03

标签: c# .net msbuild nuget nuget-package

我正在寻找一种私密的方式'引用一个MSBuild项目,以便它不会显示给NuGet包的用户。例如,假设我有两个库, LibFoo LibBar 。他们在单一解决方案下组织起来,如下所示:

Foobar.sln
|
---- LibFoo.csproj
|
---- LibBar.csproj

现在,假设LibFoo引用了LibBar。当我去构建LibFoo时,也构建了LibBar。生成的二进制文件都包含在LibFoo的输出目录中。当我nuget pack将它们作为NuGet包的一部分包含在目录中时,也会包含LibBar的二进制文件。

最后,当最终用户安装LibFoo时,NuGet继续并引用包中的所有内容,包括LibBar

有没有办法防止这种情况发生?

1 个答案:

答案 0 :(得分:2)

我想不可能直接排除dll,但你可以明确指定应该引用哪些程序集。这反过来做你想要的,因为所有未指定的程序集都不会被添加为参考。

看看这个section of the nuget docs