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

自定义MSBuild Target无法检测文件变更问题求助

自定义MSBuild T4生成任务增量构建失效问题

核心问题

自定义编写的MSBuild T4生成任务仅部分正常:只有重建操作能完整执行,修改.tt模板文件或其依赖输入后,Visual Studio不会触发MSBuild执行,无论是否启用AccelerateBuildsInVisualStudio开关,这个问题都存在。

具体现象

首次构建(或执行重建)完成后,若修改任意.tt文件,后续执行构建时仅输出:

========== Build: 0 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========

已尝试的方案

参考MSBuild官方的「任务批处理中的项元数据」和「增量构建」相关指南调整配置,问题仍未解决。

自定义MSBuild配置代码

<ItemGroup>
  <ProjectReference Include="..\Common\Common.csproj">
    <Private>False</Private>
    <ReferenceOutputAssembly>True</ReferenceOutputAssembly>
  </ProjectReference>

  <CppTemplates Include="Cpp\*.tt">
    <Ext>h</Ext>  
  </CppTemplates>
  <!-- will add other languages -->
  <Templates Include="@(CppTemplates)" />
</ItemGroup>

<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Inputs="@(Templates)"
        Outputs="@(Templates->'$(T4OutputDir)\%(Filename).%(Ext)')">
  <MakeDir Directories="$(T4OutputDir)" />
  <Exec Command="$(T4Command) -out @(Templates->'$(T4OutputDir)\%(Filename).%(Ext)') %(Templates.Identity)" />
</Target>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:32:04