gpt4 book ai didi

visual-studio - Visual Studio 2017 : nesting files in a class library project

转载 作者:行者123 更新时间:2023-12-03 21:19:30 26 4
gpt4 key购买 nike

在 Web 项目中,您可以选择嵌套文件

 + startup.cs
+--startup.internals.cs
+--startup.configuration.cs

有没有办法在类库项目中实现相同的行为?

更新:部分解决

好的,我知道了 ,

您需要了解您的文件路径。

对于这样的结构(文件处于项目级别)
+-- myProject.csproj
+-- startup.cs
+-- startup.internals.cs
+-- startup.configuration.cs

那么这就是你要找的配置。
  <ItemGroup>
<Compile Update="startup.*.cs">
<DependentUpon>startup.cs</DependentUpon>
</Compile>
</ItemGroup>

对于嵌套文件夹结构
+-- myProject.csproject
+-- Folder_A
+-- Folder_A1
+-- startup.cs
+-- startup.internals.cs
+-- startup.configuration.cs

您需要使用 buildin $(ProjectDir) 宏来获取项目路径
  <ItemGroup>
<Compile Update=" $(ProjectDir)\Folder_A\Folder_A1\startup.*.cs">
<DependentUpon> $(ProjectDir)\Folder_A\Folder_A1\startup.cs</DependentUpon>
</Compile>
</ItemGroup>

为什么我说它部分工作,因为如果我退出 Visual 然后再次打开它,对于第二类结构,它将取消嵌套文件。

一些帮助任何人?

最佳答案

To answer your Updates : Partially solved:



类似于 this issue . DependentUpon是用于实现您想要的嵌套的正确元素。

但是,您的值不能是包含通配符的表达式。它必须是同一文件夹或子文件夹下的单个文件。如果您的文件存在于子文件夹中,您必须通过相对路径指定该文件。所以你的 ItemGroup的内容应该是这样的:
<Compile Include="Folder_A\Folder_A1\startup.cs" />
<Compile Include="Folder_A\Folder_A1\startup.configuration.cs">
<DependentUpon>startup.cs</DependentUpon>
</Compile>
<Compile Include="Folder_A\Folder_A1\startup.internals.cs">
<DependentUpon>startup.cs</DependentUpon>
</Compile>

经过我的检查,我认为您需要使用 Include属性而不是 Update如果您正在构建 .NET FX 类库项目。

更新: Update根据 this doc,属性仅适用于 .NET Core 项目.

如果在 .NET Core 项目中,就像您在评论中指出的那样,也许是 Update更适合:
<Compile Update="Folder_A\Folder_A1\startup.internals.cs">
<DependentUpon>startup.cs</DependentUpon>
</Compile>

关于visual-studio - Visual Studio 2017 : nesting files in a class library project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55778871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com