2015-07-23 3 views
9

Использование правой кнопки мыши, опубликовать как параметр Azure WebJob ... в VisualStudio 2015, задание опубликовано, однако runMode, похоже, игнорируется.Visual Studio 2015 Публикация проблемы WebJobs

В моем архиве я следующие настройки, однако задание постоянно установлен в On Demand работу на портале после публикации:

{ 
    "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
    "webJobName": "MyJob", 
    "startTime": "2015-07-21T00:30:00-08:00", 
    "endTime": null, 
    "jobRecurrenceFrequency": "Day", 
    "interval": 1, 
    "runMode": "Scheduled" 
} 

с помощью Visual Studio 2015 с Azure SDK для .NET 2.7

Вот ошибки в выходных окон после публикации ошибки: при создании графика WebJob произошла ошибка: не удалось загрузить тип «Microsoft.IdentityModel.Clients.ActiveDirectory.ActiveDirectoryAuthenticationException» из сборки «Microsoft.IdentityModel.Clients. ActiveDirectory, Версия = 2.16.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35.

ответ

15

Исходя из этой ошибки, проблема заключается в том, что вы должны войти в облачный проводник в Visual Studio для правильного планирования задания.

Работа будет опубликована, если вы не вошли в систему, однако она будет доступна только для OnDemand.

+2

+1 Хорошо, я должен спросить. Какая часть «Невозможно загрузить тип» Microsoft.IdentityModel.Clients.ActiveDirectory.ActiveDirectoryAuthenticationException из сборки «Microsoft.IdentityModel.Clients.ActiveDirectory, Version = 2.16.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» «кричал« о да, просто откройте Cloud Explorer и войдите в систему «к вам? Конечно, это сработало, но мне любопытно (как я уверен, другие тоже) о том, как вы установили связь? – nsturdivant

+2

Я думал о том, что это проблема аутентификации, поэтому просто начал смотреть на места в приложении, где вы действительно аутентифицируетесь - аутентифицирован в Cloud Explorer, а остальное - это история. – Pat

+1

Это не работает для меня. Такая же ошибка, такая же проблема, но она сохраняется, хотя я зарегистрирован в Cloud Explorer (как в, я вижу свое веб-приложение и т. Д. Поэтому я думаю, что я вошел в систему) – Noppey

0

При развертывании для Visual Studio проверьте окно вывода. Вы должны увидеть, что он строит ваш проект, и тогда он, похоже, закончится. Через 30-90 секунд вы увидите ошибки, которые могут возникнуть с частью планирования развертывания. Вы также увидите их в окне «Активность службы Azure App», в котором вы получите полный журнал развертывания.

Поскольку есть довольно задержка, когда ничего не происходит во время развертывания, легко пропустить любое сообщение об ошибке, которое может произойти. Если вы видите ошибку, отправьте ее здесь, и мы сможем отлаживать ее дальше. Благодарю.

+0

Вот выход. Кажется, не имеет значения, как долго я жду, это то же самое. После .. Опубликовать преемственность. Это единственная ошибка: D: \ projects \ BASEE \ packages \ Microsoft.Web.WebJobs.Publish.1.0.2 \ tools \ webjobs.console.targets (110,5): Ошибка: при создании расписание WebJob: не удалось загрузить тип «Microsoft.IdentityModel.Clients.ActiveDirectory.ActiveDirectoryAuthenticationException» из сборки «Microsoft.IdentityModel.Clients.ActiveDirectory, Version = 2.16.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35». – Pat

+0

Вы пытались добавить эту конкретную версию через nuget к своему проекту? –

+2

Проблема в том, что вы должны войти в облачный проводник в визуальной студии. Это решает проблему. – Pat

9

В настоящее время существует лучший способ планирования WebJobs с использованием выражений CRON, который проще и позволяет избежать всех проблем планировщика, упомянутых здесь.

Чтобы использовать его, выполните следующие действия:

  • Ваш Azure Web App должен быть запущен в стандартном режиме, и есть 'Always On' включен.
  • При создании своего веб-приложения в Visual Studio выберите «Выполнить по запросу» вместо «Запуск по расписанию».
  • Создайте файл settings.job в корне вашего WebJob. Обязательно установите Копировать в выходной каталог = «Копировать, если новый». Этот файл должен содержать что-то вроде этого (что делает его работать на верхней части каждого часа):

{ "schedule": "0 0 * * * *" }

Для получения дополнительной информации об этой технике, см следующие ссылки:

https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/#CreateScheduledCRON

http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/

+0

Это делает жизнь с веб-работой намного проще, спасибо! – Noppey

+0

Привет, Дэвид, как мне доработать существующий запланированный wjob. то есть, что делать с моими настройками публикации json? – GGleGrand

+0

Просто сделайте это как по запросу WebJobs. например см. [здесь] (https://github.com/davidebbo-test/WebAppWithWebJobsVS/blob/5471db17dc3ba9ccfc632dde3feecdf69c5cf853/MyTriggeredWebJob/Properties/webjob-publish-settings.json). –

10

в моем случае, даже если я уже вошел в облако Explorer, я все еще получаю ту же ERRO р.

У меня есть последний Azure SDK для .NET (VS 2015), установленный с момента написания. Мне пришлось обновить пакет NuGet Microsoft.Web.WebJobs.Publish с версии 1.0.2 до последней версии 1.0.10. NuGet Package Upgrade

Затем, наконец, веб-работа была опубликована успешно!

+0

Спасибо - это исправлено для меня тоже. –

+0

Также следует отметить, что для этого решения все проекты, которые ссылаются на этот пакет NuGet, должны быть обновлены (текущая версия 1.0.11), или вы можете продолжить получение ошибки. – Pat

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