2017-02-10 4 views
1

Я разработал Azure-функцию в файле .Csx, который вызывает библиотеку C#.Невозможно обновить Azure Function в Azure

Создание функционального приложения в Azure в порядке.

Первое развертывание в Azure - это Ok.

Любое обновление функции, которая вносит изменения в вызываемую Dll, отлично работает на локальном эмуляторе.

Но как только я раскрываю новую версию (с помощью веб-развертывания, или пользовательское развертывание сценария с использованием Zip + REST API) функции приложения к Azure, я получаю такое сообщение:

2017-02-10T16:54:29.160 Exception while executing function: Functions.MailSenderFunction. mscorlib: 
Exception has been thrown by the target of an invocation. f-MailSenderFunction__-1032464143: 
Method not found: 'Void MyCompany.MailSenderFunctionLib.MailSenderFunctionProcessor.Run(MyCompany.MyProject.Common.Models.Mail, MyCompany.MailSenderFunctionLib.LogHandler)'. 

Even если я удалю функцию перед развертыванием с помощью Portal, Http Rest API, это не поможет.

Мне нужно воссоздать совершенно новую функцию App ресурса для того, чтобы иметь свою новую версию, чтобы работать

без изменения коды, Если создать новую пустую функцию приложения и развертывание функции приложение к Azure, тогда я получаю приятную работу Azure в Azure.

Но я не могу передислоцировать в приложение Azure Function.

Я искал неделю. Я боюсь, что это ошибка Azure.

Есть ли у кого-нибудь идеи?

+0

Помогает ли перезапуск функции приложения? Настройки приложения-приложения -> Настройки сервиса приложения -> Перезапуск –

+0

Фактически, он работал после того, как я покинул свою работу, спустя несколько часов после этого.Я просто нажал кнопку «Запустить на вкладке« Разработка », чтобы увидеть сообщение о выполнении моей функции. Затем я выпустил еще одну версию моего вызова dll + из csx, перераспределенного. Такая же ошибка, как указано выше. Затем я нажал на Restart и отправил сообщение в очереди служебной шины, которое является триггером, и я получил ту же ошибку, что и об обнаруженном методе ... Завтра я посмотрю. Глядя на dll в каталог bin/my моей функции и декомпилируя, я просто наблюдаю, это последнее. Не первый раз у меня возникло чувство кеша/задержки. –

+0

Это ограничение, которое скоро будет исправлено, см. Https://github.com/Azure/azure-webjobs-sdk-script/pull/1169 –

ответ

1

Я использовал функции azure с dll на некоторое время и столкнулся с проблемой, используя сборки Team Foundation Service Release.

я структурировал мой релиз встраивает в 3 шагах

Шаг 01. остановить лазурное функции приложения с помощью питания оболочки лазурь Powershell.

Шаг 02. зафиксировать изменения в лазурь функции внутреннего мерзавца репо

Шаг 03. начать лазурное функцию приложения, используя PowerShell лазурь Powershell.

вы можете получить cmd для PowerShell для этого из самого портала.

Портал -> ваше приложение -> проводник ресурсов -> нажмите ссылку «Перейти» в клиенте, которая открывает новую вкладку -> должна быть вкладка powershell, в которой есть все связанные команды powershell.

Надеюсь, что это поможет

+0

. Процесс моего развертывания а не Git, но REST API, но он работает для меня. Я попробовал портал вместо Powershell, это не сработало, но с помощью команд Azure Powershell, как вы посоветовали, это работает. Спасибо Frictionlesspulley –

+0

извините, я тоже имел в виду azure powershell cli .. обновление ответа – frictionlesspulley

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