面向多个框架的 C#

  • 本文关键字:框架 c#-7.3
  • 更新时间 :
  • 英文 :


我尝试对此进行一些搜索,但由于我不确定"什么",所以我没有走得太远,所以它很可能是我找不到的另一个问题的副本。

我正在查看一段用于小型测试应用程序的代码,并注意到属性中的"目标框架"下拉列表被禁用。 编辑 .csproj 文件向我显示以下内容:

<TargetFrameworks>net451;netcoreapp1.0;netcoreapp2.0</TargetFrameworks>

在文件下方看,我看到这个:

<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.3" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net451' ">
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>

有人可以指出我正确的方向来了解这是什么,它是如何工作的以及它的用例是什么吗?

此外,查看此指令以进行任务

#if NET451
return Task.FromResult(true);
#else
return Task.CompletedTask;
#endif

我注意到 NET451 已启用,我试图找出为什么它是它选择的而不是 netstandard2.0? 通常我只能选择目标框架,但正如我提到的,下拉列表被禁用,所以我试图了解它是如何选择它的。

您可以从TargetFrameworks中将TargetFramework视为当前目标。MSBuild 将一次生成每个目标。

可悲的是,仍然没有用于TargetFrameworks的 UI .

选择哪个在 Visual Studio 中处于活动状态的方式位于编辑器窗口顶部的左上角组合框中。

相关内容

  • 没有找到相关文章

最新更新