如何在复制步骤之前使MSBuild CoreClean?

如何在复制步骤之前使MSBuild CoreClean?,msbuild,teamcity,Msbuild,Teamcity,我有一个类库项目,其中包含在构建时执行的t4模板。输出.sql文件设置为.csproj的Content,并应在生成时复制到输出文件夹 我使用MSBuild在TeamCity生成框上设置了以下配置: 命令行参数: /p:OutDir=C:\output\DBMigration /p:Configuration=Release /p:DebugSymbols=false /p:DebugType=None /p:DeleteExistingFiles=true /t:rebuild /ver

我有一个类库项目,其中包含在构建时执行的t4模板。输出.sql文件设置为
.csproj
Content
,并应在生成时复制到输出文件夹

我使用MSBuild在TeamCity生成框上设置了以下配置:

命令行参数:

/p:OutDir=C:\output\DBMigration
/p:Configuration=Release
/p:DebugSymbols=false 
/p:DebugType=None 
/p:DeleteExistingFiles=true 
/t:rebuild 
/verbosity:n
其输出是将文件复制到outputdir,但在重建的
CoreClean
步骤中删除

为了解决这个问题,我可以运行一个构建而不是重建(即,
/t:Build

这将跳过
CoreClean
步骤,但是为什么在复制过程发生后,在输出目录上调用
CoreClean
?删除操作是否应该在复制之前

为什么我只需要为类库类型的项目执行此步骤,web/windows应用程序在重建时似乎并没有这个问题

从生成日志中还可以看出,输出目录从未被
/p:DeleteExistingFiles=true
清理过


在尝试构建之前,我可以进行黑客攻击并强制运行
powershell
脚本来清理目录,但在没有正确执行重建的情况下,必须有一个受支持的MSbuild参数来执行此操作?

重建目标通常按此顺序执行清理和构建,因此clean将CoreClean作为依赖项。我找不到哪个目标处理p:DeleteExistingFiles,因此无法真正说明内容文件未清理的原因。如果您可以显示详细的构建日志或准备一个重现问题的示例项目,那就太好了——如果没有任何实际记录,很难调试复杂的msbuild流。