【发布时间】:2018-06-26 12:11:59
【问题描述】:
我创建了一个动态加载库并执行它的主类的系统。 一切都很完美,我遇到的问题是如何发布这个 DLL 及其所有依赖项。由于没有可执行项目引用它,我必须手动检索依赖项:尝试加载库,检查所需的 DLL,转到 NuGet 缓存文件夹,复制库,再试一次,检查它是否抱怨更多依赖项等等直到它拥有所有必需的库。
这是一个真正的痛苦,我还没有找到任何关于如何做到这一点的信息,有可能还是我坚持这个?
该库是一个 .net 标准 2.0 库,我之前使用 .net classic 进行过此操作,并且输出文件夹始终包含所有必需的库,即使是来自 NuGet 包的库,但使用 .net 标准时,有些东西已经发生了变化,现在只有引用项目中的库被复制,没有引用的 NuGet 包被复制到输出文件夹。
干杯。
【问题讨论】:
-
我分担你的痛苦。这是设计使然,对此有一些大惊小怪和困惑,请参阅github.com/NuGet/Home/issues/4488。而且,当项目A引用项目B发布NuGet包时,B成为A中的NuGet依赖; B 的程序集不包含在 A 的 NuGet 包中。
-
@pfx 哎哟!!!这真的伤害了我的灵魂...... :(我有一个非常肮脏的方法,创建一个.net核心应用程序,引用库并获取除exe之外的结果,但这非常丑陋,不知道他们为什么没有这样做“发布”结果的选项...如果您将评论添加为答案,我将接受它。
标签: c# dll nuget publish .net-standard-2.0