我正在处理一个项目,我想在其中添加Prometheus指标导出。 {}我已经使用过There's a pretty great library for it over at NuGet。然而,新版本(2.0.x,预发行版)应该是为.NET Standard构建的。没问题,但我目前的项目是为Windows上的.NET Framework构建的。但是,当我添加这个NuGet包时,我会在项目的输出中添加100多个程序集,包括许多我认为不相关的程序集。
我在项目中添加了an issue for this,但项目维护者得出的结论是这是正常的。但是,我并不同意,而且我想知道我是否有具体的建议可以改善这种情况。
prometheus-net应该更改以避免将所有这些程序集添加到项目的输出中?
答案 0 :(得分:1)
这是当前.NET Standard 2.0构建情况的缺陷/错误/不幸的副作用。当针对4.7.1之前的.NET Framework时,系统无法确定是否存在所有依赖项,因此它会将所有这些额外程序集复制到输出中。
4.7.1具有.NET Standard 2.0所需的所有内容,因此如果该框架是针对性的,则不会包含它们(但是,如果在运行时使用早期框架,则可能会中断)。
https://github.com/dotnet/standard/issues/415#issuecomment-314288712
有信息(以及似乎对我有用的解决方法)