添加对 NuGet 包的引用会将许多不相关的程序集添加到输出中
Adding a reference to a NuGet package adds many unrelated assemblies to output
我正在做一个项目,我想在其中添加 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 应该更改什么以避免将所有这些程序集添加到我的项目的输出中?
这是当前 .NET Standard 2.0 构建情况的 flaw/bug/unfortunate 副作用。当以 4.7.1 之前的 .NET Framework 为目标时,系统无法确定所有依赖项都存在,因此它会将所有这些额外的程序集复制到输出中。
4.7.1 具有 .NET Standard 2.0 所需的一切,因此如果以该框架为目标,则不会包含它们(但是,如果在运行时使用更早的框架,事情可能会中断)。
https://github.com/dotnet/standard/issues/415#issuecomment-314288712
上有信息(以及似乎对我有用的解决方法)
我正在做一个项目,我想在其中添加 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 应该更改什么以避免将所有这些程序集添加到我的项目的输出中?
这是当前 .NET Standard 2.0 构建情况的 flaw/bug/unfortunate 副作用。当以 4.7.1 之前的 .NET Framework 为目标时,系统无法确定所有依赖项都存在,因此它会将所有这些额外的程序集复制到输出中。
4.7.1 具有 .NET Standard 2.0 所需的一切,因此如果以该框架为目标,则不会包含它们(但是,如果在运行时使用更早的框架,事情可能会中断)。
https://github.com/dotnet/standard/issues/415#issuecomment-314288712
上有信息(以及似乎对我有用的解决方法)