如何在复制步骤之前使MSBuild CoreClean?
我有一个类库项目,其中包含在构建时执行的t4模板。输出.sql文件设置为如何在复制步骤之前使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
.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流。