在 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
您需要使用内置 $(ProjectDir) 宏来获取项目路径
<ItemGroup>
<Compile Update=" $(ProjectDir)\Folder_A\Folder_A1\startup.*.cs">
<DependentUpon> $(ProjectDir)\Folder_A\Folder_A1\startup.cs</DependentUpon>
</Compile>
</ItemGroup>
为什么我说它部分工作,因为如果我退出 Visual 然后再次打开它,对于第二种类型的结构,它将取消嵌套文件。
有些帮助任何人吗?
来回答您的更新:部分解决:
类似的东西这个问题.
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:
The Update
属性仅适用于 .NET Core 项目,根据this doc.
如果在 .NET Core 项目中,就像您在评论中指出的那样,也许Update
更合适的是:
<Compile Update="Folder_A\Folder_A1\startup.internals.cs">
<DependentUpon>startup.cs</DependentUpon>
</Compile>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)