发布 .net 标准库及其所有依赖项?

Gus*_*man 6 c# dll publish nuget .net-standard-2.0

我创建了一个动态加载库并执行它的主类的系统。一切都很完美,我遇到的问题是如何发布这个 DLL 及其所有依赖项。由于没有可执行项目引用它,我必须手动检索依赖项:尝试加载库,检查所需的 DLL,转到 NuGet 缓存文件夹,复制库,​​再试一次,检查它是否抱怨更多依赖项等等直到拥有所有必需的库。

这是一个真正的痛苦,我还没有找到任何关于如何做到这一点的信息,是否可能,或者我是否坚持这个?

该库是一个 .net 标准 2.0 库,我之前使用 .net classic 执行过此操作,输出文件夹始终包含所有必需的库,甚至是来自 NuGet 包的库,但使用 .net 标准时,某些内容发生了变化,现在只有来自正在复制引用的项目,但没有将引用的 NuGet 包复制到输出文件夹。

干杯。

小智 6

尝试:

dotnet publish
Run Code Online (Sandbox Code Playgroud)

应将所有依赖库复制到发布输出文件夹。


pfx*_*pfx 3

在撰写本文时,它看起来像是设计使然,并且存在相当大的麻烦和混乱,请参阅GitHub 上记录的问题

此外,当为引用项目 B 的项目 A 发布 NuGet 包时,
B 会成为 A 中的 NuGet 依赖项;B 的程序集不包含在 A 的 NuGet 包中。

我通过发布我自己的 NuGet 包来处理它。

我只是不喜欢项目 B 有一个 NuGet 包,如果该包仅与项目 A 一起使用/由项目 A 使用,因为它将单独出现在我的 NuGet 提要中。