我正在将一个Web应用程序部署到azure。应用程序是使用Nancy构建的,并且没有定义RoleEntryPoint(请注意这不是问题,网站本身运行得很好)。当我部署到azure时,我启用了Web部署选项。
当我尝试运行Web部署时,收到以下错误:
错误7 Web部署任务失败。((6/26/2012 12:28:45 PM)错误 在远程计算机上处理请求时发生。)
(6/26/2012 12:28:45 PM)请求时发生错误 在远程计算机上处理。遇到错误 处理'Castle.Windsor.dll'上的'创建文件'操作。错误 代码是0x80070020。该过程无法访问 'E:\ approot \ bin \ Castle.Windsor.dll'因为正在使用它 另一个过程。
我已经RDP进入角色实例并使用进程资源管理器我看到WAIISHost锁定了我的项目引用的许多程序集。
我无法确定导致这些文件被锁定的原因。
感谢, 杰森
答案 0 :(得分:2)
Web Deploy不适用于生产环境。(described here)
WaIisHost.exe是完整IIS Web角色的角色过程,因此当您的Web角色启动时,您的角色DLL将在此过程中加载。在webrole的生命周期中,角色dll将加载到主机进程中,并且无法更改。由于Castle.Windsor.dll位于E:\ approot \ bin *,其中特定于角色的DLL,主机进程中加载了此二进制文件。
如果您想要更新您的Web角色,您需要从门户网站或PowerShell更新Windows Azure升级选项。