使用 MS Chart 生成文件时,TFS 自动构建失败

3
我们有一个网络应用程序,它使用MS Chart生成一些图表图片。MS Chart的配置使用“Storage=file”,因此在运行时会创建一堆临时图像。
不幸的是,当我们从TFS 2013触发自动构建时,它会失败,并显示以下错误信息:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets (4253): Web deployment task failed. (The file 'msc_cntr_0.txt' is in use.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.)

如果我进入测试服务器并重新启动应用程序池,然后重试构建,它就能正常工作。

这是一个已知的问题吗?我是否可以通过告诉TFS/MSBuild更加积极地/自动地重新启动应用程序池来解决它?


你在构建期间直接部署你的东西吗? - Stephen Reindl
我们正在使用IIS通过Web Deploy部署网站文件,如果您是这个意思的话? - dougajmcdonald
啊,所以:虽然不是一个快速的解决方案,但你可以使用WIX或其他设置工具来自动部署你的软件。至少WIX有一些功能可以在部署期间停止/启动应用程序。另一种方法是通过命令行工具停止/启动应用程序池(https://technet.microsoft.com/en-us/library/cc732742%28v=ws.10%29.aspx)。这两种方法都需要管理员权限。 - Stephen Reindl
1个回答

1

文件msc_cntr_0.txt由远程IIS用于图表生成,并在IIS运行时保持锁定状态。问题源于MSDeploy在发布期间尝试删除它,因为此文件不在您的本地解决方案中。在VS2013中,您的发布配置文件中有一个名为“SkipExtraFilesOnServer”的设置,默认值为“False”。将其设置为“True”可解决该问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接