自定义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
相关产品推荐
相关产品推荐

