【问题标题】:adding a netstandard with 4.6.1使用 4.6.1 添加网络标准
【发布时间】:2023-04-05 08:59:01
【问题描述】:

随着 netstandard 的到来,创建可用于 netcore 和网络框架的库应该会更容易。还可以将多个目标框架添加到 netstandard 库中,以便可以为多个目标构建它。然而,这其中有些东西让我感觉不对劲,也许我看错了。我会尽力解释这个场景。

我有这个 netstandard 库,针对 netstandard1.5 和 net461。我通过将项目更改为并添加两个目标来做到这一点。这个项目正在构建并打包到一个 nuget 包中,通过仔细检查,它确实包含 net461 和 netstandard1.5 的二进制文件。有了这个,我假设我有一个可以添加到 netcore 项目或网络框架项目的库,具有最少的依赖关系。此外,此库依赖于 Microsoft.Extensions.Logging.Abstractions (1.1.2)、Newtonsoft.Json (10.0.2) 和 System.Security.SecureString (4.3)。

另一方面,我有一个经典的控制台项目,带有网络框架 461。当然,我会想在这里使用该库,因为它是一个网络框架 461 项目,并且该库还针对网络框架 461,我认为依赖性将保持在最低限度。当我查找包时,它的依赖项是我所期望的,但是当我去尝试安装它时,我会被我认为不必要的依赖项淹没,例如 NETStandard.Library (1.6 .2)、Microsoft.NETCore.Platforms (1.1.0)、System.Runtime (4.3) 及其所有关联(集合、io、安全等)。我认为我不需要添加所有这些依赖项,因为该库以网络框架为目标,但似乎我错了或其他错误。

谁能提供一些关于这方面的见解?

【问题讨论】:

  • 您可以移植到 netstandard2(它是最终版本),并使用 vs 2017 update3。我希望你不会发现大量依赖。

标签: c# .net visual-studio-2017 .net-standard


【解决方案1】:

我想我会回答我自己的问题,其实并没有那么复杂。

事实证明,Microsoft.Extensions.Logging 仅针对 netstandard,因此需要所有其他依赖项。

一旦我删除了 Microsoft 包并重建了我自己的包,我就能够将它作为依赖项添加到网络项目中,而不会造成任何混乱。

也许这会对将来的某人有所帮助...

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 2010-10-08
    • 2023-03-03
    • 2020-08-22
    • 2016-12-15
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多