2014-10-18 1 views
2

У меня возникла проблема с публикацией Webjob с расписанием от VS 2013 года. Я могу опубликовать задание «по требованию» без проблем, но я хочу его с расписанием.Публикация Azure Webjob с ошибкой Schedule

Здесь ошибка я получаю ниже ..

Похоже, он не может найти Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob при публикации.

Я сделал все, чтобы попробовать сортировать его, даже обновив VS2013 до версии 3, добавив пакеты Nuget, Azure SDK, издательский SDK, библиотеку управления Azure Scheduler, библиотеку управления Azure Service & Azure Common Library.

Я создал новые WebJob проекты с использованием различных методов,

  1. правильное решение нажмите -> добавить новый проект -> Облако -> Microsoft Azure WebJob
  2. Направо решение клик -> добавить новый проект -> Окна Desktop -> Console Application
  3. правой кнопкой мыши Веб-сайт -> Добавить -> Новый Azure Webjob Project

C: \ Разработка \ зависит encies \ Microsoft.Web.WebJobs.Publish.1.0.0 \ tools \ webjobs.console.targets (80,5): Ошибка MSB4061: Задача «Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob» может быть нет быть создан из «C: \ Users \ Tony \ AppData \ Local \ assembly \ dl3 \ XDNO1P6L.QON \ HEVOMEZ0.AYO \ 587c592f \ a99a921c_5eeacf01 \ Microsoft.Web.WebJobs.Publish.Tasks.dll".

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.WindowsAzure.Management.Scheduler, Version=1.0.0.0, 

Culture = нейтрально, PublicKeyToken = 31bf3856ad364e35' или один из его зависимостей. Система не может найти указанный файл. Имя файла: 'Microsoft.WindowsAzure.Management.Scheduler, Version = 1.0.0.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35' на System.Reflection.RuntimeAssembly.GetExportedTypes (RuntimeAssembly сборки, ObjectHandleOnStack retTypes) в System.Reflection. RuntimeAssembly.GetExportedTypes() в Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.ScanAssemblyForPublicTypes() в Microsoft.Build.Shared.TypeLoader.AssemblyInfoToLoadedTypes.GetLoadedTypeByTypeName (String TYPENAME) в Microsoft.Build.Shared.TypeLoader.GetLoadedType (Object cacheLock, Object loadInfoToTypeLock, кэш ConcurrentDictionary2, Строка typeName, сборка AssemblyLoadInfo) в Microsoft .Build.CommandLine.OutOfProcTaskAppDomainWrapperBase.ExecuteTask (IBuildEngine oopTaskHostNode, String TASKNAME, String taskLocation, String taskFile, Int32 taskLine, Int32 taskColumn, AppDomainSetup appDomainSetup, IDictionary2 taskParams)

+0

Последнее обновление по этому вопросу заключается в том, что я обновил приложение MVC от MVC4 до MVC5, и это не имело никакого значения. Я также обновил все зависимости в проекте и до сих пор не испытываю радости. –

ответ

0

В моем случае «Microsoft .WindowsAzure.Management.Scheduler 'version 3.0.0.0 ссылался в проекте webjob, но в журнале сообщалось о отсутствующей версии 1.0.0.0. Добавление следующих строк в App.config проекта webjob решается вопрос публикации:

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="Microsoft.WindowsAzure.Management.Scheduler" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
    </dependentAssembly> 
</assemblyBinding> 
</runtime> 

В разделе можно добавить где-то внутри тега.

Пожалуйста, позвольте мне еще одно примечание, которое не связано с вашим вопросом. Публикуя запланированный веб-сайт, я узнал, что доступная частота повторения зависит от конфигурации веб-сайта. Я не мог использовать повторяющуюся частоту ниже 1 дня со свободным планом (шляпа для масштабирования до стандарта для моего плана расписания). Свободный план поддерживает, по-видимому, только однодневное повторение (время написания).

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

0

Я добавил, что в и попытался создал новый Webjob, используя правильный проект клик и выбор добавить -> проект New Azure WebJob и получил тот же

+0

Это сработало для вас? –

+1

Это почти три года назад. Я думаю, что я просто работал вокруг этого – TonyC

+0

Спасибо, у меня была такая же проблема недавно, но она была исправлена. –

0

Возможно, вы можете обойти всю эту проблему и просто использовать TimerTrigger для планирования? Обязательно развертывайте его как запущенный WebJob.