使用Hangfire的TeamCity MSDeploy .NET App失败

Bre*_*roz 3 asp.net iis teamcity azure hangfire

我正在尝试使用Hangfire.这是我的问题,当我尝试发布到azure时,发布失败,因为另一个进程正在使用DLL.

VSMSDeploy] C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(4276,5):error ERROR_FILE_IN_USE:Web部署任务失败.(Web部署无法修改目标上的文件'Takenet.WebApi.dll',因为它被外部进程锁定.为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下次发布尝试时使用.Net应用程序的AppOffline规则处理程序.有关详细信息,请访问:http://go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FILE_IN_USE .)

我使用了AppOffline规则,它在我的webapp的根目录中添加了App_Offline.htm.一旦文件存在,IIS将删除我的应用程序的工作进程并卸载正在使用的任何文件,但发布仍然失败,看起来发布速度快于关闭= /

有人可以帮忙吗?

Bre*_*roz 6

首先,我在PublishProfile中添加了AppOffline规则,但看起来此规则仅在使用Visual Studio进行部署时使用= /所以我必须将此规则应用到团队城市.

在命令行/构建服务器上设置这些属性

当您调用msbuild.exe时,您可以像传输任何其他MSBuild属性一样传递此属性.使用以下语法,

/ p:EnableMSDeployAppOffline = true/p:MSDeployUseChecksum = true