.net Core多目标和.net标准有什么区别?

时间:2017-05-21 08:50:06

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

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

.Net Core默认情况下不行,但有可能在.net Core中配置多目标编辑csproj文件,因此我可以设置多个目标。在我做过的一个测试中,如果我设置为目标net47,我可以在我的WPF项目中使用这个.net核心库。

因此,如果我可以使用.net Core多目标和.net标准。有什么区别,什么时候使用,何时使用其他?

感谢。

1 个答案:

答案 0 :(得分:4)

您需要在csproj文件中定位多个框架。在Visual Studio 2017的原始版本中,没有用于此的UI,但您可以手动执行此操作。我相信在更新中会有UI支持。

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

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

你可以:

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

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