我有标准的TFS构建定义,以及用于Web部署的以下msbuild参数:
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:DeployIisAppPath="[IIS APP PATH]" /p:MsDeployServiceUrl=localhost
除非我在应用程序中添加了一个锁定的“logs”文件夹,否则这种方法还可以。现在msbuild无法删除此文件夹,因为它始终在使用中。 这是错误:
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ 11.0 \网络\ Microsoft.Web.Publishing.targets (4193):Web部署任务失败。 (文件'logs'正在使用中。学习 更多: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE。)
我想必须有一种方法可以在部署之前回收webapp,从而释放文件夹。或者也许不清理源位置。请指教。
由于
答案 0 :(得分:1)
最终我找到了上述问题的解决方案:
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:SkipExtraFilesOnServer=True /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:recycleApp="[APP NAME]" /p:DeployIisAppPath="[APP NAME]" /p:MsDeployServiceUrl=localhost
参数 SkipExtraFilesOnServer 不会执行清理目标文件夹,因此日志文件夹不受影响。