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

能否通过dotnet命令在csproj文件中包含/排除cs文件?(.NET Core 2)

回答:在.NET Core 2中通过dotnet命令管理csproj里的.cs文件

当然可以!不过.NET Core 2.x的dotnet CLI并没有提供专门的命令直接添加或移除项目中的.cs文件(这个功能在后续的.NET 5+版本里才得到了更完善的CLI支持),但我们有两种实用的方式来实现需求:

1. 直接编辑csproj文件(永久修改)

.NET Core的csproj本质是MSBuild格式的配置文件,你可以手动编辑它来控制文件的包含/排除规则,这也是最直接的永久修改方式。

  • 包含特定.cs文件:在csproj中添加<Compile>项:
<ItemGroup>
  <Compile Include="path/to/YourFile.cs" />
</ItemGroup>
  • 排除特定.cs文件:用<Compile>的Remove属性,或者直接用Exclude:
<!-- 方式1:移除已包含的文件 -->
<ItemGroup>
  <Compile Remove="path/to/UnwantedFile.cs" />
</ItemGroup>

<!-- 方式2:排除匹配规则的文件(比如通配符) -->
<ItemGroup>
  <Compile Include="**/*.cs" Exclude="**/TestFiles/*.cs;path/to/SingleFile.cs" />
</ItemGroup>

2. 使用MSBuild参数临时覆盖(构建时生效,不修改csproj)

如果你只是想在某次构建时临时包含或排除文件,不想修改csproj本身,可以通过dotnet build或dotnet publish命令的MSBuild属性参数来实现:

  • 临时包含额外文件:
dotnet build /p:CompileInclude="**/ExtraFile.cs;path/to/AnotherFile.cs"
  • 临时排除文件:
dotnet build /p:CompileExclude="**/TempFiles/*.cs"

需要注意的是,这种方式只会影响当前的构建过程,不会修改你的csproj文件内容。

另外补充一下:如果你的开发环境有IDE(比如Visual Studio 2017+或Rider),直接通过IDE的项目右键菜单添加/移除文件会更直观,IDE会自动帮你修改csproj的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:27:24