该进程无法访问文件,因为在进行Web部署时,其他进程正在使用该文件

时间:2011-12-30 09:53:39

标签: iis deployment msbuild tfs2010

我正在使用TFS的自动Web部署来解析我的构建。在我的网站上,我有一个日志文件。部署时,我收到“进程无法访问文件,因为它正被另一个进程使用”,此错误导致部署失败。

任何人都可以告诉我如何在自动部署时强制删除旧的?我必须要部署IISRESET。 谢谢 Ashwani

2 个答案:

答案 0 :(得分:1)

在尝试部署之前,您需要执行完整的iisreset /stop,然后在部署成功后,使用iisreset /start重新启动服务器。

或者,如果您在同一主机上有其他网站,请尝试单独停止应用程序池,部署,然后重新启动应用程序。池。您可以使用appcmd

  • appcmd list apppool列出了您的应用程序池
  • appcmd stop apppool <name>停止游泳池
  • appcmd start apppool <name>启动游戏

要从MSBuild执行此操作,请尝试extension pack

答案 1 :(得分:0)

如果为FlatfileTraceListener指定的文件是只读的,则跟踪侦听器不会将数据写入文件,也不会发生异常。确保将文件属性设置为读/写。 当您使用FlatFileTraceListener类将日志信息写入文件时,应用程序块会锁定该文件,直到应用程序关闭。可以打开和读取文件,但在关闭应用程序之前无法移动或删除日志文件。

https://msdn.microsoft.com/en-us/library/ff648115.aspx