VS2022解决方案资源管理器能否切换多目标框架显示视角?
多目标C#项目切换目标框架视角查看文件
问题描述
我有一个多目标C#项目,目标框架为.NET Framework 4.8和.NET 7.0,部分源码文件仅针对其中一个目标框架包含。当前解决方案资源管理器默认显示.NET 7.0视角的文件,请问是否可以切换到项目文件中指定的特定目标框架视角,查看对应包含的文件?
项目文件示例:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>net7.0;net48</TargetFrameworks> .. <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <EnableDefaultContentItems>false</EnableDefaultContentItems> <EnableDefaultItems>false</EnableDefaultItems> .. </PropertyGroup> .. <ItemGroup> <Compile Include="sourcecode_A.cs" /> <Compile Include="sourcecode_B.cs" /> <Compile Include="sourcecode_C.cs" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)'=='net7.0'"> <Compile Include="sourcecode_X.cs" /> .. </ItemGroup> <ItemGroup Condition="'$(TargetFramework)'=='net48'"> <Compile Include="sourcecode_Y.cs" /> .. </ItemGroup> .. </Project>
当前解决方案资源管理器仅显示.NET 7.0视角的文件:
- sourcecode_A.cs
- sourcecode_B.cs
- sourcecode_C.cs
- sourcecode_X.cs
解决方法
可以切换,在Visual Studio中直接通过解决方案资源管理器的目标框架过滤功能就能实现:
- 找到解决方案资源管理器顶部的视图下拉菜单(通常位于"显示所有文件"按钮旁)
- 点击下拉菜单,选择目标框架
net48 - 此时解决方案资源管理器会自动过滤显示对应框架的文件:你将看到
sourcecode_A.cs、sourcecode_B.cs、sourcecode_C.cs和sourcecode_Y.cs,sourcecode_X.cs会被隐藏。
补充说明:你的项目文件通过Condition属性为不同目标框架指定了专属编译文件,Visual Studio的解决方案资源管理器原生支持识别这些条件配置,提供目标框架视角切换功能,无需额外设置。
内容的提问来源于stack exchange,提问作者Björn Albowitz
相关产品推荐
相关产品推荐

