如何从 NuGet 包私下引用另一个项目

本文关键字:引用 另一个 项目 包私下 NuGet | 更新日期: 2023-09-27 18:36:41

我正在寻找一种"私下"引用 MSBuild 项目的方法,以便它不会显示给 NuGet 包的用户。例如,假设我有两个库,LibFooLibBar。它们在单个解决方案下进行组织,如下所示:

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

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

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

有什么办法可以防止这种情况发生吗?

如何从 NuGet 包私下引用另一个项目

我想不可能直接排除dll,但您可以明确指定应该引用哪些程序集。这反过来又会执行您想要的操作,因为不会将所有未指定的程序集添加为引用。

请查看 nuget 文档的这一部分。