在 Visual Studio 2019 Web 项目中,解决方案资源管理器中的文件嵌套就像一个魅力。如果您添加一个名为
ClassA.cs
的文件和另一个名为 ClassA.Custom.cs
的文件,它们将按应有的方式嵌套。
但是对于类或共享库项目它根本不起作用。如果您将设置更改为“默认”或“Web”,甚至添加自定义文件嵌套设置,都没关系。
有没有办法配置 Visual Studio 2019,以便文件嵌套也适用于类库项目等?
我知道可以手动更改 *.csproj 文件以添加带有
<DependentUpon>
标签的条目,就像在早期的 Visual Studio 版本中一样,但我真的不喜欢为我拥有的所有类手动更改它的想法。
<Compile Update="$(ProjectDir)\Person.*.cs">
<DependentUpon>$(ProjectDir)\Person.cs</DependentUpon>
</Compile>
对于使用 Visual Studio 2022 和非 Web 项目的人来说,这是来自 Github 的解决方案,帮助我修复了它。
要在 VS 2022 中为非 Web 项目启用可配置文件嵌套,请将其添加到您的 .csproj 文件中:
<ItemGroup>
<ProjectCapability Include="ConfigurableFileNesting" />
<ProjectCapability Include="ConfigurableFileNestingFeatureEnabled" />
</ItemGroup>
原答案:
Github.com 和开发者社区上有一个关于此主题的问题很活跃:
存在解决此问题的方法 - 至少适用于 .Net Standard 2.0。将以下行添加到您的 *.csproj 文件中:
<ItemGroup> <ProjectCapability Include="DynamicDependentFile" /> <ProjectCapability Include="DynamicFileNesting" /> </ItemGroup>
更新:
此问题应从 Visual Studio 2019 Verison 16.7 开始修复。
如果您在解决方案中打开文件而不是解决方案本身,则 aspx、aspx.vb 会消失。只需打开解决方案,而不是文件,就可以解决我的情况