文件嵌套不适用于类或共享库项目

phi*_*ifi 2 solution-explorer visual-studio-2019

在 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>
Run Code Online (Sandbox Code Playgroud)

小智 12

对于使用 Visual Studio 2022 和非 Web 项目的人来说,这是来自Github 的解决方案,帮助我解决了这个问题。

要在 VS 2022 中为非 Web 项目启用可配置文件嵌套,请将其添加到您的 .csproj 文件中:

<ItemGroup>
  <ProjectCapability Include="ConfigurableFileNesting" />
  <ProjectCapability Include="ConfigurableFileNestingFeatureEnabled" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)


phi*_*ifi 6

Github.com 上有一个关于此主题的问题: 问题 5722

存在此问题的解决方法 - 至少适用于 .Net Standard 2.0。将以下行添加到您的 *.csproj 文件中:

<ItemGroup> <ProjectCapability Include="DynamicDependentFile" /> <ProjectCapability Include="DynamicFileNesting" /> </ItemGroup>

  • 这似乎在 VS2022 中被破坏了:( (4认同)