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

如何配置MSBuild仅编译显式包含的.cs文件而非自动拾取?

如何阻止MSBuild自动拾取.cs文件,仅编译csproj中显式添加的文件?

需求:阻止MSBuild自动从项目目录中拾取.cs文件,仅编译显式添加到项目文件(csproj)中的文件。

当前项目配置:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

...

  <ItemGroup>
    <Compile Include="./Program.cs" />
  </ItemGroup>
</Project>

使用的dotnet版本:

$ dotnet --version
7.0.400

解决方案

在项目的<PropertyGroup>节点中添加<EnableDefaultCompileItems>false</EnableDefaultCompileItems>,即可禁用SDK默认的自动包含所有.cs文件的规则,之后MSBuild仅会编译你显式添加到<Compile>项中的文件。

修改后的完整项目配置示例:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <!-- 关闭默认的.cs文件自动扫描包含逻辑 -->
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
  </PropertyGroup>

...

  <ItemGroup>
    <Compile Include="./Program.cs" />
    <!-- 可按需继续添加其他需要编译的.cs文件 -->
  </ItemGroup>
</Project>

配置生效后,MSBuild会严格遵循你在csproj中声明的编译文件列表,不再自动扫描项目目录下的.cs文件进行编译。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:28:18