我在Cloud Service中运行了Azure辅助角色。 worker是我的自定义库的包装器,它运行代码。当我对我的库进行更改时我想简单地用新的替换旧的。目前,我必须重新发布整个Cloud Service项目,这需要花费时间,似乎是浪费精力。我知道当我有多个实例或其他问题时可能有必要,但是现在我想简单地将我的新dll复制到服务而不是发布整个项目。
这可能吗?
答案 0 :(得分:1)
对于webrole Web部署可以逐步添加新文件。如果您不想启用Web部署,则需要为该角色启用远程访问,然后您可以连接到该实例并替换.dll文件。
根据您在查找IIS文件夹(如果是Webrole)或访问"%ROLEROOT%\AppRoot"
(如果是工作者角色)所需的角色。
您可能需要在Web角色方案中重新启动IIS实例。对于worker角色,您需要杀死WaWorkerHost,它将自动重启
答案 1 :(得分:1)
在阅读了Ralf链接的文档后,我发现了这个:
如果您应用的后端基础架构稳定,但需要Web角色 更频繁的更新,您可以使用Web Deploy更新仅限Web 在项目中的角色。当你不想重建时,这很方便 重新部署后端工作者角色,或者如果您有多个Web角色 并且您只想更新其中一个Web角色。
稍后重申:
只能更新Web角色:无法更新辅助角色。在 此外,您无法在web role.cs中更新RoleEntryPoint。
对于任何想要更新网络角色的人来说,这个小块非常重要,需要记住:
更改直接发送到Web所在的虚拟机 角色正在运行。如果这个虚拟机必须回收,那么 由于您发布的原始包是丢失的更改 用于为角色重新创建虚拟机。你必须重新发布 您的应用程序以获取Web角色的最新更改。