2013-08-26 1 views
1

Мне нужно заменить один DLL-файл в развернутой рабочей роли azure на тот, который я изменил, потому что в роли содержится ошибка, и у меня нет тега release. Я пытаюсь сделать это с помощью rdp, но когда я пытаюсь скопировать новую dll в папку подгонки, VM сообщает мне, что старый DLL-файл открыт в другой программе и не может быть повторно воспроизведен.Как заменить одну dll в развернутой роли рабочего агента azure на измененную версию?

ответ

1

Это не очень хорошая идея. Вы должны сделать это, переупаковку развертывания и выполнение обновления. Пытаясь сделать это с помощью RDP, вы можете заменить файл, но если роль будет уменьшена или будет перенесена, то, когда Windows Azure вернет эту роль, изменения исчезнут, так как он перераспределит последний пакет, о котором он знал, d вернитесь к dll с ошибкой в ​​нем.

Что касается того, почему он говорит вам, что он открыт, потому что роль рабочего активно использует его. Вам нужно будет остановить процесс ролевой работы, чтобы его можно было заменить. Лучшим вариантом является выполнение обновления всего пакета.

Вы можете увидеть эту документацию для получения дополнительной информации о том, как происходят обновления: http://msdn.microsoft.com/en-us/library/windowsazure/hh472157.aspx

+0

Спасибо за ответ! Что вы подразумеваете под «ролью»? Я спрашиваю, потому что, когда я убиваю процесс, заменяем dll, и процесс начинается снова пару раз - моя новая dll остается на месте и все в порядке. Вы имеете в виду ситуацию, когда ролевую роль нужно перезагрузить или перезагрузить? –

+0

Правильно, экземпляр может опускаться по многим причинам: проблемы с оборудованием, обновления ОС (гостевая и хост-ОС), исправления и т. Д. Есть много вещей, которые могут привести к повторному копированию вашего экземпляра, и когда это произойдет, оно вернется к предыдущее развертывание и ваша новая DLL исчезнет. – MikeWo

1

Я согласен с предложением MikeWo в о переупаковке и обновления развертывания. Однако, если вы хотите удалить отдельную DLL и проверить, работает ли исправление. вы можете убить WaWorkerHost.exe - синий цвет процесса на картинке. то вы можете заменить DLL.

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^