[英]Getting a list of all dependencies from a .NET Standard project's csproj
[英]Publish .net standard library with all it's dependencies?
我创建了一个动态加载库并执行它的主类的系统。 一切正常,我遇到的问题是如何发布此 DLL 及其所有依赖项。 由于没有可执行项目引用它,我必须手动检索依赖项:尝试加载库,检查所需的 DLL,转到 NuGet 缓存文件夹,复制库,再试一次,检查它是否抱怨更多依赖项等等直到它拥有所有必需的库。
这是一个真正的痛苦,我还没有找到任何关于如何做到这一点的信息,有可能还是我坚持这个?
该库是一个 .net 标准 2.0 库,我之前使用 .net classic 这样做过,输出文件夹始终包含所有必需的库,即使是来自 NuGet 包的库,但使用 .net 标准,有些东西已经改变,现在只有来自正在复制引用的项目,没有将引用的 NuGet 包复制到输出文件夹。
干杯。
尝试:
dotnet publish
所有依赖库都应复制到发布输出文件夹。
这是发布 DLL 的实用且轻松的解决方案:
因此,经过一段时间的斗争,我想出了一个更优雅的解决方案。 我测试了这种方法,并部署了一个带有许多外部依赖项的插件的完整构建到 Ubuntu 18.04,它运行完美。
创建一个类型为 Console Application 而不是类库的新项目。 将所有库代码文件放入控制台应用程序并添加依赖项。 摆脱类库项目(您不再需要它)。 最后,发布控制台应用程序。 您将获得一个包含所有依赖项的 DLL。 您可以像使用任何其他 DLL 一样使用此 DLL。
我建议将控制台应用程序项目命名为“Library”,并添加一个 README 来记录它并不是真正的应用程序,即使该项目被配置为构建为一个应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.