有没有一种简单的方法来替换Azure Cloud Service引用dll而无需重新发布服务?

时间:2015-08-24 17:47:25

标签: c# azure azure-worker-roles

我在Cloud Service中运行了Azure辅助角色。 worker是我的自定义库的包装器,它运行代码。当我对我的库进行更改时我想简单地用新的替换旧的。目前,我必须重新发布整个Cloud Service项目,这需要花费时间,似乎是浪费精力。我知道当我有多个实例或其他问题时可能有必要,但是现在我想简单地将我的新dll复制到服务而不是发布整个项目。

这可能吗?

2 个答案:

答案 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角色的最新更改。