【发布时间】:2020-02-21 17:20:21
【问题描述】:
在我的.NET Core项目的.csproj文件中,默认有这3行:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
现在,如果我想针对多个框架,我可以将其更改为:
<PropertyGroup>
<TargetFrameworks>netcoreapp2.2;net4.6</TargetFrameworks>
</PropertyGroup>
差异是微妙的,但它就在那里。针对多个框架时,您必须使用<TargetFrameworks>(复数)而不是<TargetFramework>(单数)。
但是为什么会这样呢?似乎只选择两者之一会更容易,然后总是使用它。这让我想到,选择不同(尽管相似)的词可能有更复杂的原因,这取决于您是否针对更多框架。有人能就这个话题给我启发吗?
【问题讨论】:
-
只是他们帮助现有项目的程序员(几乎所有人)迁移到 .NETCore。他们将继续部署到 .NETFramework 一段时间,但可以肯定的是,当他们最终采用 .NETCore 时不会有什么意外。这最终会消失。
-
请注意,还有其他类似的属性。平台,我认为至少还有配置。不过它们可能更灵活一些(可以将 2 用于单数或 1 用于复数;不是 100% 确定)。
标签: c# .net-core target-framework