You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dotnet CLI为.NET/.NET Standard类库项目添加文件夹?

为.NET/.NET Standard类库项目添加文件夹的命令行方法及变通方案

为什么Shell创建的文件夹未显示在项目中

.NET SDK风格的类库项目默认自动包含项目目录下的所有文件和文件夹,但空文件夹不会被Visual Studio主动显示,也不会被显式写入项目文件(.csproj)。如果是旧的非SDK风格项目,文件夹必须手动添加到项目文件才会被识别。

命令行解决方案

1. 批量编辑项目文件添加文件夹

可以通过Shell命令直接向.csproj文件添加文件夹条目,让Visual Studio加载项目后自动识别这些文件夹。以Bash为例:

# 定义需要添加的文件夹列表
folders=("DTOs" "Behavior" "Features" "Filters" "Interfaces" "Mappings" "Wrappers")
# 替换为你的项目文件名
project_file="YourClassLibrary.csproj"

# 批量追加文件夹条目到项目文件
for folder in "${folders[@]}"; do
  echo "  <Folder Include=\"$folder\\\" />" >> "$project_file"
done

执行后,项目文件中会新增类似以下的内容(如果没有<ItemGroup>标签,需要手动将这些条目包裹进去):

<ItemGroup>
  <Folder Include="DTOs\" />
  <Folder Include="Behavior\" />
  <Folder Include="Features\" />
  <!-- 其他文件夹条目 -->
</ItemGroup>

2. 添加占位文件触发自动包含

SDK风格项目会自动包含带有项目相关扩展名(如.cs)的文件所在的文件夹。可以通过创建空占位文件快速让文件夹被项目识别:

# 遍历文件夹列表创建占位.cs文件
folders=("DTOs" "Behavior" "Features" "Filters" "Interfaces" "Mappings" "Wrappers")
for folder in "${folders[@]}"; do
  mkdir -p "$folder"
  touch "$folder/.placeholder.cs"
done

执行后运行dotnet restore或重新加载项目,这些文件夹就会出现在Visual Studio的解决方案资源管理器中。后续可以删除这些占位文件,只要文件夹内有其他有效文件,就会一直被项目保留。

手动变通方案

如果暂时不想用命令行,也可以在Visual Studio中操作:

  • 点击解决方案资源管理器顶部的显示所有文件按钮(带加号的文件夹图标)
  • 右键点击目标空文件夹,选择包含在项目中

内容的提问来源于stack exchange,提问作者Byron2017

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:55:25