2

我正在将 Web 应用程序部署到 azure。该应用程序是使用 Nancy 构建的,并且没有定义 RoleEntryPoint(请注意这不是问题,网站本身运行良好)。当我部署到 azure 时,我启用了 Web 部署选项。

当我尝试运行 webdeployment 时,出现以下错误:

错误 7 Web 部署任务失败。((2012 年 6 月 26 日下午 12:28:45)在远程计算机上处​​理请求时出错。)

(6/26/2012 12:28:45 PM) 在远程计算机上处​​理请求时出错。处理“Castle.Windsor.dll”上的“创建文件”操作时遇到错误。错误代码为 0x80070020。该进程无法访问“E:\approot\bin\Castle.Windsor.dll”,因为它正被另一个进程使用。

我已经 RDP'd 进入角色实例并使用流程资源管理器我看到 WAIISHost 锁定了我的项目引用的许多程序集。

我无法确定是什么导致这些文件被锁定。

谢谢,杰森

4

1 回答 1

2

Web Deploy 不适用于生产环境。这里描述

WaIisHost.exe 是完整 IIS Web 角色的角色软管进程,因此当您的 Web 角色启动时,您的角色 DLL 会在此进程中加载​​。在您的 webrole 的生命周期中,角色 dll 被加载到主机进程中并且无法更改。由于 Castle.Windsor.dll 位于角色特定 DLL 所在的 E:\approot\bin* 中,因此宿主进程已在其中加载了此二进制文件。

如果您想更新您需要的 Web 角色,您可以从门户或 powershell 选择 Windows Azure 升级选项。

于 2012-06-26T18:28:54.253 回答