【问题标题】:How to replace one dll in deployed azure worker role to modified version?如何将部署的 azure worker 角色中的一个 dll 替换为修改版本?
【发布时间】:2015-03-11 07:43:09
【问题描述】:

我需要将部署的 azure worker 角色中的一个 dll 文件替换为我修改过的一个,因为角色包含错误并且我没有发布标签。我正在尝试通过 rdp 执行此操作,但是当我尝试将新的 dll 复制到 approot 文件夹时,VM 告诉我旧的 dll 文件已在另一个程序中打开并且无法重播。

【问题讨论】:

    标签: azure azure-worker-roles


    【解决方案1】:

    这不是一个好主意。您应该通过重新打包部署并执行更新来做到这一点。通过尝试通过 RDP 执行此操作,您可以替换文件,但如果角色出现故障或被移动,那么当 Windows Azure 恢复角色时,更改将消失,因为它将重新部署它知道的最后一个包,所以你d 回到包含错误的 dll。

    至于为什么它告诉你它是开放的,是因为工人角色最有可能在积极使用它。您必须停止工作角色进程才能替换它。最好的选择仍然是执行整个包的更新。

    有关更新如何发生的更多信息,您可以查看此文档:http://msdn.microsoft.com/en-us/library/windowsazure/hh472157.aspx

    【讨论】:

    • 感谢您的回复!您所说的“角色下降”到底是什么意思?我问是因为当我终止进程时,替换 dll 并再次启动进程几次 - 我的新 dll 留在原地,一切都很好。您的意思是角色需要重新映像或重新启动的情况?
    • 正确,实例出现故障的原因有很多:硬件问题、操作系统更新(来宾和主机操作系统)、补丁等。有很多事情会导致您的实例重新映像和发生这种情况时,它将恢复到以前的部署,并且您的新 DLL 将消失。
    【解决方案2】:

    我同意 MikeWo 关于重新打包和更新部署的建议。 但是,如果您想删除单个 DLL 并检查修复是否有效。你可以杀死 WaWorkerHost.exe - 图片中蓝色突出显示的进程。然后你可以替换DLL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 2011-09-17
      相关资源
      最近更新 更多