针对多个框架的 C#
C# targeting multiple frameworks
我已经尝试对此进行一些搜索,但由于我不确定 "what" 这是我没有深入了解所以它很可能与我找不到的另一个问题重复。
我正在查看一个小测试应用程序的一段代码,发现属性中的 "Target Framework" 下拉列表被禁用。编辑 .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 已启用,我正试图找出为什么它 selected 而不是 netstandard2.0?通常我可以 select 目标框架,但正如我提到的,下拉菜单被禁用,所以我试图了解它是如何 select 的。
您可以将TargetFramework
视为TargetFrameworks
的当前目标。 MSBuild 将一次构建每个目标。
遗憾的是,TargetFrameworks
仍然没有 UI。
您在 Visual Studio 中选择激活哪个的方式在编辑器顶部左上方的组合框中 window。
我已经尝试对此进行一些搜索,但由于我不确定 "what" 这是我没有深入了解所以它很可能与我找不到的另一个问题重复。
我正在查看一个小测试应用程序的一段代码,发现属性中的 "Target Framework" 下拉列表被禁用。编辑 .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 已启用,我正试图找出为什么它 selected 而不是 netstandard2.0?通常我可以 select 目标框架,但正如我提到的,下拉菜单被禁用,所以我试图了解它是如何 select 的。
您可以将TargetFramework
视为TargetFrameworks
的当前目标。 MSBuild 将一次构建每个目标。
遗憾的是,TargetFrameworks
仍然没有 UI。
您在 Visual Studio 中选择激活哪个的方式在编辑器顶部左上方的组合框中 window。