【问题标题】:What is the difference between .net Core multi target and .net Standard?.net Core 多目标和 .net Standard 有什么区别?
【发布时间】:2017-05-21 08:50:05
【问题描述】:

.Net Standard 用于在不同类型的项目中使用同一个库,例如 WPF、xamarin、UWP...等。

.Net Core 默认不能,但是在.net Core 编辑csproj 文件时可以配置多目标,所以我可以设置多个目标。在我完成的一项测试中,如果我设置为目标 net47,我可以在我的 WPF 项目中使用这个 .net Core 库。

所以,如果我可以对 .net Core 多目标和 .net 标准做同样的事情。有什么区别,什么时候用一个,什么时候用另一个?

谢谢。

【问题讨论】:

  • 你能停下来一次又一次地发布同样的问题吗?有了这个,我们在 4.
  • 这不是同一个问题,第一个问题是通用的,我问的是 .net Core 的一个特定功能,即多目标。在第一个问题中没有人提到多目标,所以如果你能告诉我如何在同一个问题中提出这个问题,我会感谢你。
  • 这不是“.NET Core 中的多目标”——它会在一个 csproj 文件中有多个目标,其中一个可能是 .NET Core,而其他目标是 .NET Core。 NET 标准等
  • 如果你能说出你想要达到的目标会更清楚。

标签: c# .net .net-core .net-standard


【解决方案1】:

您需要在 csproj 文件中定位多个框架。在 Visual Studio 2017 的最初发布中,没有用于此的 UI,但您可以手动完成。我相信在更新中会有 UI 支持。

只需将<TargetFramework> 元素更改为<TargetFrameworks> 并使用分号分隔的目标列表即可。例如,在野田时间我有:

<TargetFrameworks>net45;netstandard1.3</TargetFrameworks>

你可以:

<TargetFrameworks>netcoreapp1.0;netstandard1.3</TargetFrameworks>

但是,如果您想(有条件地)利用某些仅在 .NET Core 中可用而在 .NET Standard 中不可用的功能,您只会想要这样做。

【讨论】:

  • 符合.net标准的也可以像.net Core一样在linux和mac上使用?
  • @ÁlvaroGarcía 是的,正如我在另一个问题中解释的那样 - 因为 .NET Core 实现了 .NET Standard。
猜你喜欢
  • 1970-01-01
  • 2017-08-13
  • 2020-05-08
  • 2016-11-08
  • 2015-10-27
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多