正如您提到的,您确实有包含新工人角色的新包,您的包中是否包含以前的工人角色?如果这是一个新的工作角色应用程序,或者您已将新的工作角色添加到现有的 Web 角色项目中,并且在这种情况下,您同时拥有旧的 webrole 和新的工作角色。
我可以向您解释更新服务如何与 Windows Azure 一起工作,如下所示:
对于 Windows Azure,当您更新当前正在运行的实例时,更新包仍然需要完整的配置和应用程序代码(包括所有新旧角色)。当您在门户网站更新服务时,您可以选择更新所有服务或特定角色,这在下拉列表内的更新窗口中可用。因此,如果您当前正在运行的服务具有 web 和 worker 角色,并且您只想更新一个特定角色,您可以从下拉列表中选择特定角色,并且只有该角色将被更新,而其他角色将保持不变。如果您选择“全部”,则所有角色都将使用包内容进行更新。因此,如果您更新一个角色、所有角色或所有角色,您的包中必须包含完整配置,并且取决于您的选择,角色将被更新。
在您的情况下,您想向当前正在运行的服务添加一个新角色,因此您可以从下拉列表中选择“全部”选项,这样可以将新角色添加到您当前正在运行的服务中,但是您的现有服务将经历停机,因为需要进行主要配置在一个 VIP 下运行两个单独的角色。
关于您的错误,我怀疑您的包中不包含当前正在运行的服务配置,因此当您尝试更新时,更新过程认为您只想删除当前正在运行的进程并替换为新的工作角色。