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

Fir*_*ess 5 msbuild teamcity

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

我使用 MSBuild 在 TeamCity Build Box 上进行了以下配置设置:

命令行参数:

/p:OutDir=C:\output\DBMigration
/p:Configuration=Release
/p:DebugSymbols=false 
/p:DebugType=None 
/p:DeleteExistingFiles=true 
/t:rebuild 
/verbosity:n
Run Code Online (Sandbox Code Playgroud)

其输出是文件被复制到输出目录,但在CoreClean重建步骤中被删除。

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

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

而为什么我只需要对ClassLibrary类型的项目执行这一步,web/windows应用程序在重建时似乎没有这个问题。

此外,从构建日志中可以看出,输出目录从未被/p:DeleteExistingFiles=true.

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