MSDeploy无法删除文件

时间:2011-08-24 17:45:22

标签: iis tfs msbuild tfsbuild msdeploy

我已经设置了TFS构建来构建和部署Web应用程序。我通过TFS构建定义的MSBuild参数传递MSDeploy参数。第一次这是正常的。当有人访问Web应用程序时,其中一个控件(Microsoft图表控件)会在我添加到解决方案中的空目录中生成几个文件。

当我进行重建(或触发持续集成)时,下一个构建通常会失败,因为它无法删除其中一个生成的文件。当我尝试手动删除文件时,它告诉我IIS工作进程正在使用它并且无法删除它。

现在要获得构建构建,我每次都必须手动重启IIS,这在CI中是不可取的。我已经浏览了Microsoft.Web.Publishing.Tasks.dll,并且没有任何东西可以使用MSDeploy重新启动IIS。

目前我认为在解决方案中添加临时文件的存根可能是一个解决方案(如果文件是部署的永久部分,MSDeploy可能会关闭进程)或者我可以做一些解决方案文件中的Exec令人不快,以便重置IIS。

这可能是一个很长的镜头,但有没有人反对这个并找到了一个很好的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以使用MSBuild Extension Pack在部署之前自动停止应用程序池。 MSBuild.ExtensionPack.Web命名空间中有几个任务来管理IIS,例如停止和启动应用程序池,删除应用程序等。