Visual Studio 2022 - 嵌套部分类(文件)

问题描述 投票:0回答:2

我注意到,在我的解决方案中,嵌套部分类仅适用于

Microsoft.NET.Sdk.Web
项目。
对于其余项目 (
Microsoft.NET.Sdk
),它不起作用。
有谁知道这方面的事情吗?


编辑:我发布了SDK,因为我认为这就是原因。我创建了一个新的解决方案,控制台应用程序(

Microsoft.NET.Sdk
)并尝试创建部分类,仍然不嵌套文件。


编辑2
将以下内容添加到

.csproj
文件后,现在它是嵌套的。

<ItemGroup>
    <Compile Update=".\Services\CatalogService.*.cs">
        <DependentUpon>.\Services\CatalogService.cs</DependentUpon>
    </Compile>
</ItemGroup>  

尽管如此,问题仍然存在......

c# msbuild visual-studio-2022
2个回答
6
投票

根据吉米在评论中提到的文档,我在 VS2022 中进行了测试,效果很好。首先,嵌套部分类适用于

 Microsoft.NET.Sdk.Web
和其余项目(Microsoft.NET.Sdk)。您应该检查
 File nesting options
在解决方案资源管理器中。

这里有几种嵌套文件的方法。

1 当您选择

Default
时,如果给定项目类型不存在任何设置,则项目中不会嵌套任何文件。您应该通过项目控制台应用程序(Microsoft.NET.Sdk)的右键菜单(上下文菜单)创建项目特定的设置。并使用
pathSegment
设置规则: 例如

"pathSegment": {
        "add": {
          ".*": [
            ".cs",
          ]
        }
      }

结果

pathSegment:使用此类规则将Catelog.Paged.cs嵌套在Catelog.cs下

2 当您选择

Web
时:此选项将 Web 文件嵌套行为应用于当前解决方案中的所有项目。

3 自定义解决方案的文件嵌套。在解决方案资源管理器中选择

Add Custom Setting
。您可以根据需要添加任意数量的自定义文件嵌套设置。与方法1类似。


1
投票

这在这里仍然不起作用...

我有一个 .Net 4.8 类库,并且没有部分 .cs 类嵌套在其父级下。

我已经尝试了你上面写的所有内容,但没有任何效果。

© www.soinside.com 2019 - 2024. All rights reserved.