Visual Studio:如何更改编辑器使用的目标框架?



我有一个多平台解决方案,其中许多csproj文件配置如下:

<PropertyGroup>
<TargetFrameworks>net452;netstandard1.4</TargetFrameworks>    
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.4' ">    
<PackageReference Include="System.Net.Http" Version="4.3.0"/>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<PackageReference Include="Newtonsoft.Json" Version="6.0.8" />
</ItemGroup>

请注意,我没有TargetFramework元素(单数形式(。我只有TargetFrameworks元素(复数形式(。

编辑器假定netstandard1.4,并且所有#if NET452块都灰显且没有智能感知。

如何告诉Visual Studio编辑器识别特定的目标框架(net452netstandard1.4(,并至少暂时获得IntelliSense?

作为参考,我使用的是VS2017专业版15.2(26430.16(。

答案如下:

  • Visual Studio 2017在编辑器顶部包含3个组合框。在版本 15.1 或更高版本上,最左侧的组合允许选择要编辑的框架。这将根据所选框架更改#if块的语法突出显示。
  • IntelliSense似乎涵盖了TargetFrameworks上声明的所有项目,即使文本在编辑器中显示为灰色。

总而言之,这只是我的学习曲线。

最新更新