【问题标题】:NET Standard library refer .NETCoreNET 标准库参考 .NET Core
【发布时间】:2017-09-18 13:50:53
【问题描述】:

我是 Microsoft Core 世界的新手,想创建一个针对 .NET 标准的类库。我使用的是 Visual Studio IDE 2017 并选择了.NET Standard 下列出的类库项目模板。

当我在 .NET 标准项目结构上展开 SDK 时,我可以看到 Microsoft.NETCore.Platform 1.1.0 作为参考。

据我了解,.NET Core、.NET Framework、Mono、通用 Windows 平台等使用 .NET Standard,而不是其他方式。请纠正我。

问题:

  1. SDK下的Microsoft.NETCore.Platform 1.1.0参考有什么相关性?

【问题讨论】:

  • 您的理解基本正确。他们不像实施那样使用 .NET Standard。不过,我不确定为什么会有 NETCore 部分,抱歉
  • @BradleyDotNET,谢谢。我一直在寻找答案。如果你碰巧找到了,请张贴出来。
  • 在阅读了他链接的文档后,我认为 Lex 的回答是正确的。没有任何内容表明这种依赖关系会导致您的 .NET Standard 库出现任何问题。
  • VS2017 发布得太早,无法支持 .NETCore 1.1 以外的任何其他目标。 .NETStandard 2.0 版需要先完成。新标准将全部取代。计划于 2017 年春季,现在外面阳光明媚,但还没有完成。我们可能会在更新中交付它。在它变得相当稳定之前依靠数百个错误,这是正在进行的工作。
  • @HansPassant,谢谢。老实说,我并不担心 VS 2017 的完整性,因为成熟只会在市场上的不同年份实现。我担心的是,我对 Microsoft 的新举措如何相互关联或相互依赖的理解是否正确。看到 .NETCore 对 .NETStandard 项目的依赖显然让我很困惑。

标签: .net .net-core .net-framework-version .net-standard


【解决方案1】:

显然它用于以下目的,

提供解析 .NETCore 包的目标框架、平台和运行时特定实现所需的运行时信息。

https://www.nuget.org/packages/Microsoft.NETCore.Platforms/

如果你检查源代码可以找到更多,

https://github.com/dotnet/corefx/blob/c2588415e91ca1d44885ac0bbe9bf8268adc4b48/pkg/Microsoft.NETCore.Platforms/readme.md

它是一个跨平台的包,不绑定到任何特定的平台,但名称错误。正如您所问的,“NETCore”部分令人困惑,应该删除。

【讨论】:

  • 感谢您的评论。我正在创建的类库是针对特定的 .NETStandard 而不是 NETCore。这个想法是关于如何使用 .NETStandard 跨 .NET Framework (CLR)、.NETCore (CoreCLR) 和 UWP 创建可重用的 dll。
  • 包名称中的 “NETCore” 不会阻止你做你想做的事。请忽略。就像我说的,“Microsoft.NETCore.Platforms”是跨平台的。您的类库确实违反了 .NET Standard,并且可以在任何地方重用。
  • 谢谢。迷惑那些花时间学习微软所有产品组合中新的根本变化的人是一种罪过。我仍在学习这些,并希望一切顺利。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2019-03-21
  • 2017-04-19
  • 1970-01-01
  • 2016-07-02
  • 2019-06-20
相关资源
最近更新 更多