我已经尝试过对此进行一些搜索,但是由于我不确定这是什么,所以我并没有走太远,因此很可能是我找不到的另一个问题的重复。
我正在看一个小的测试应用程序的一段代码,并注意到属性中的“ 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>
有人请给我指出正确的方向,以了解这是什么,如何工作以及用例是什么?
然后,查看此指令中的Task
#if NET451
return Task.FromResult(true);
#else
return Task.CompletedTask;
#endif
我注意到NET451已启用,我试图找出为什么选择它而不是netstandard2.0?通常,我可以选择目标框架,但是正如我提到的那样,下拉菜单是禁用的,因此我试图了解它是如何选择框架的。
任何建议将不胜感激。
答案 0 :(得分:0)
您可以将TargetFramework
中的TargetFrameworks
作为当前目标。 MSBuild将一次建立每个目标。
遗憾的是,TargetFrameworks
仍然没有UI。
在Visual Studio中,选择一个活动对象是在编辑器窗口顶部的左上方组合框中。